Cách chữa 'Too many open files' được nhắc nhiều nhất — ulimit -n 65536 — thường không làm điều bạn nghĩ: giới hạn mềm ai cũng tự nâng, và nâng nó lên có khi làm chương trình hỏng nặng hơn
Giới hạn mềm không phải một hàng rào, nó là giá trị khởi đầu — tiến trình tự nâng lên tới giới hạn cứng mà không cần quyền gì (đo được: gấp 1.027 lần). Một triệu mô tả tệp chỉ tốn 38 MB nên đặt thấp để 'tiết kiệm bộ nhớ' là vô nghĩa. Và cú bất ngờ nhất: nâng ulimit khiến một dịch vụ dùng select() hỏng ở tận đâu đâu, hàng giờ sau, chỉ khi tải cao.