Увеличьте максимальные открытые файлы для Ubuntu/Upstart (initctl)
Это на сервере LTS Ubuntu 12.04.3.
Я добавил следующее в /etc/security/limits.conf(мои процессы Golang выполняются с правами root):
* hard nofile 50000
* soft nofile 50000
root hard nofile 50000
root soft nofile 50000
Я добавил следующее в /etc/pam.d/common-session
session required pam_limits.so
Я добавил в /etc/sysctl.conf следующее:
fs.file-max = 50000
Тем не менее, когда я cat/proc/{PID}/limits, я получаю:
Limit Soft Limit Hard Limit Units
Max open files 1024 4096 files
Это происходит , только когда я запускаю процесс с Upstart через sudo initctl start service_name. Если я сам запускаю процесс, он подтверждает мои настройки.
Как это исправить?
Ответы
Ответ 1
Это должно быть добавлено к вашему Upstart script для его работы:
limit nofile 50000 50000
"Это по дизайну, что выскочка не смотрит на /etc/security/limits.conf для системных заданий. Настройки PAM только применяется к сеансам пользователя, а не к системным службам". из https://bugs.launchpad.net/ubuntu/+source/upstart/+bug/938669
Источники:
https://github.com/saltstack/salt/issues/5323
http://bryanmarty.com/blog/2012/02/10/setting-nofile-limit-upstart/