убунту 12.04
Я изменил настройку:
/etc/security/limits.conf
* soft nofile 65000
* hard nofile 65000
но cat / proc / {PID} / limits:
Limit Soft Limit Hard Limit Units
Max open files 1024 4096 files
Я нашел проблему. В Upstart есть ошибка, из-за которой он игнорирует ограничения, установленные в /etc/security/limits.conf. Эти ссылки описывают ошибку и способ ее решения.
Теперь вопрос в том, как установить глобальный предел nofile, потому что я не хочу устанавливать ограничение nofile в каждом скрипте выскочки, который мне нужен.
Спасибо.
Поведение Upstart такое, как указано, и не является ошибкой - службы связаны своей собственной конфигурацией, а не ограничениями безопасности (которые связывают пользовательские процессы, для которых нет другого определения - следовательно, почему это безопасность пределы).
Была проделана некоторая работа по внедрению файл настроек по умолчанию "глобальной конфигурации" для Upstart но, похоже, этим пренебрегли (возможно, из-за отсутствия обязательств со стороны разработчиков Upstart).
IMO ваш лучший выбор - создать файл переопределения только с limit nofile
директиву и скопируйте ее, чтобы переопределить все существующие службы выскочки. Что-то вроде этого:
for file in /etc/init/*.conf
do echo "limit nofile 65000 65000" > "${file%%.conf}.override"
done