6

Chúng tôi sử dụng Hudson làm hệ thống tích hợp liên tục để thực thi các bản dựng tự động (hàng đêm và dựa trên cuộc thăm dò CVS) của nhiều dự án của chúng tôi.Làm cách nào để khắc phục sự cố "Quá nhiều tệp mở" ở Hudson?

Một số dự án thăm dò ý kiến ​​CVS cứ 15 phút một lần, một số khảo sát khác cứ 5 phút một lần và một số thăm dò ý kiến ​​mỗi giờ.

Cứ vài tuần, chúng tôi sẽ nhận được một xây dựng mà không thành công với kết quả như sau:

FATAL: java.io.IOException: Too many open files 
java.io.IOException: java.io.IOException: Too many open files 
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:148) 

Việc xây dựng tiếp theo luôn luôn làm việc (với 0 thay đổi) vì vậy chúng tôi luôn chalked nó lên đến 2 xây dựng công việc được chạy ở đồng thời và xảy ra có quá nhiều tệp mở trong quá trình.

Cuối tuần này, chúng tôi đã xây dựng không thành công vào tối thứ Sáu (xây dựng đêm tự động) với thông điệp và mọi bản dựng hàng đêm khác cũng không thành công. Bằng cách nào đó điều này đã kích hoạt Hudson liên tục xây dựng mọi dự án thất bại cho đến khi vấn đề được giải quyết. Điều này dẫn đến việc xây dựng mỗi 30 phút hoặc lâu hơn cho mỗi dự án cho đến khi tối thứ bảy khi vấn đề kỳ diệu biến mất.

Trả lời

4

Đây là vấn đề Hudson 715 (http://issues.hudson-ci.org/browse/HUDSON-715). Đề xuất hiện tại là đặt 'số lượng chủ đề bỏ phiếu đồng thời tối đa' để giữ cho hoạt động bỏ phiếu giảm xuống.

+0

Liên kết bị hỏng cho sự cố 715. Bạn có thể cập nhật không? –

0

Thay đổi giới hạn hệ thống cho các mô tả tệp mở tối đa cho mỗi quá trình? Như trong ulimit -n cho quy trình Java?

0

Tôi đã gặp phải sự cố này với một ứng dụng Java khác chạy trên Debian, nó đã biến mất khi chúng tôi hạ cấp xuống phiên bản Java 1.6.0.0. Java không bao giờ đóng các kết nối không sử dụng, làm cho nó ném ngoại lệ.

3

Xem https://wiki.jenkins-ci.org/display/JENKINS/I%27m+getting+too+many+open+files+error cho những gì chúng tôi cần từ bạn để khắc phục loại sự cố này.

+0

Chúng tôi không gặp vấn đề gì trong một thời gian dài. Nếu nó tăng lên một lần nữa, tôi chắc chắn sẽ gửi thông tin được yêu cầu cùng. – Randyaa

+0

Kohsuke - có lẽ một nâng cao Jenkins có thể là để giữ một mắt trên các giới hạn mô tả tập tin và tự sửa chữa bằng cách chạy GC sau đó? Chúng tôi đang chạy trên các hộp có kích thước bộ nhớ lớn (sắp có trong phạm vi 96G), vì vậy nó có thể chạy trong một thời gian trước khi thử đến GC. –

+0

Điều đó nghe có vẻ giống như một hack tuyệt vời! RFE ở đâu trong http://issues.jenkins-ci.org/? :-) –

0

Một trong những vấn đề phổ biến nhất gây ra "Quá nhiều tệp mở" là phải kích hoạt và cấu hình plugin Active Directory trong Jenkins. Có những vấn đề đã biết với plugin này, điều này gây ra số lượng lớn các chuỗi để hiển thị và lỗi "Quá nhiều tệp mở" trong nhật ký. Sau khi vô hiệu hóa nó và chuyển sang xác thực LDAP, tôi đã không gặp Jenkins để treo nữa.

Các vấn đề liên quan