Увеличить максимальное количество открытых файлов для 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

Тем не менее, когда я ограничиваю cat/proc/{PID}/, я получаю:

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

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

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

1 13

1 ответ:

Это должно быть добавлено в ваш сценарий Upstart, чтобы он работал:

limit nofile 50000 50000

" это по замыслу, что выскочка не смотрит на / etc / безопасность / ограничения.conf для системных заданий. Настройки PAM только применяется к пользовательским сеансам, а не к системным службам." от https://bugs.launchpad.net/ubuntu / + источник / выскочка/ + ошибка/938669

Источники:

Https://github.com/saltstack/salt/issues/5323

Http://bryanmarty.com/blog/2012/02/10/setting-nofile-limit-upstart/