Tomcat đang chạy một webapp trong Windows. Sau một vài ngày (dưới tải rất thấp), ngoại lệ được đề cập trong tiêu đề bắt đầu xuất hiện trong nhật ký, không có kết nối mới nào có thể được thiết lập từ thời điểm đó, sửa chữa chỉ sau đó khởi động lại máy chủ.java.net.SocketException: Không có dung lượng bộ nhớ đệm (kết nối tối đa đã đạt được?): JVM_Bind
Môi trường:
- Tomcat mới nhất 6
- Windows Server 2008 R2
- JDK 6 update 30
- SQL Server 2008
- Kerberos xác thực
Bằng chứng thu thập được cho đến nay :
- netstat cho thấy không có số tiền quá nhiều kết nối
- ProcessExplorer cho thấy không có số tiền quá nhiều tập tin mở xử lý
- hệ thống sử dụng bộ nhớ chính là trung bình
- JVM sử dụng heap là trung bình
- khởi động lại Tomcat không giải quyết được vấn đề
Câu hỏi mở:
- nếu chúng tôi bị rò rỉ kết nối, chúng có nên xuất hiện trong netstat không?
- không nên khởi động lại máy chủ ứng dụng để giải quyết sự cố, vì hệ điều hành nên giải phóng tất cả tài nguyên quy trình?
- có cách nào để theo dõi vấn đề về nguồn gốc của nó không? Ví dụ. cài đặt phần mềm giám sát, có thể một cái gì đó tương tự như lsof vv?
Tôi hết ý tưởng, mọi gợi ý đều được đánh giá cao!
Có rất nhiều câu hỏi tương tự câu hỏi của bạn, vui lòng thực hiện tìm kiếm và kiểm tra chúng trước tiên. –
Tôi đã làm, tin tôi đi. Không ai trong số họ đã giúp giải quyết vấn đề của tôi, bởi vì tôi không thấy bất kỳ triệu chứng nào mà tôi nên nhìn thấy, và không ai trong số họ có những gợi ý về cách nguồn gốc của vấn đề có thể được xác định. –