Увеличьте максимальное количество открытых файлов для Ubuntu/Upstart (initctl)

Это на сервере Ubuntu 12.04.3 LTS.

Я добавил следующее в /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

Тем не менее, когда я запускаю /proc/{PID}/limits, я получаю:

Limit                     Soft Limit           Hard Limit           Units     
Max open files            1024                 4096                 files     

Это происходит только когда я запускаю процесс из Upstart через sudo initctl start service_name. Если я запускаю процесс сам, он подтверждает мои настройки.

Как это исправить?


person Allison A    schedule 15.11.2013    source источник


Ответы (1)


Это нужно добавить в ваш скрипт Upstart, чтобы он работал:

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/

person Allison A    schedule 15.11.2013