Tôi gặp sự cố với các tệp đang mở trong Ubuntu 9.10 khi chạy máy chủ trong Python2.6 Và vấn đề chính là, tôi không biết tại sao lại như vậy ..lỗi socket.accept 24: Đối với nhiều tệp đang mở
tôi đã thiết
ulimit -n = 999999
net.core.somaxconn = 999999
fs.file-max = 999999
và l sof cho tôi khoảng 12000 tập tin mở khi máy chủ đang chạy.
Và tôi cũng đang sử dụng epoll.
Nhưng sau một thời gian nó bắt đầu đưa ra exeption:
File "/usr/lib/python2.6/socket.py", dòng 195, ở chấp nhận lỗi: [Errno 24] Quá nhiều tập tin mở
Và tôi không biết làm thế nào nó có thể đạt đến giới hạn tập tin khi nó không đạt được.
Cảm ơn bạn đã trợ giúp)
Trả lại "ulimit -n" là gì? Hệ thống có thực sự cho phép bạn đặt thành 999999 không? –
Bạn có thể nhấn giới hạn mô tả tập tin cho mỗi quá trình và bạn không lưu ý cách bạn đã sửa đổi nó. Xem '/usr/include/linux/limits.h NR_OPEN' Bạn làm gì với 12k file mở ?? – msw
Về điều này "/usr/include/linux/limits.h NR_OPEN" tôi không biết, nó đã được đặt thành 1024, đã thay đổi lên đến 65536. Giới thiệu về "ulimit -n" trả lại 999999 Sẽ kiểm tra máy chủ ngay bây giờ tùy chọn NR_OPEN mới này.Và sẽ trả lời) Cảm ơn) –