Ограничение дескриптора открытого файла. Параметр conf не читается ulimit, даже если требуется pam_limits.so

16

Я пытаюсь поднять максимум дескриптора открытого файла для всех пользователей на машине с Ubuntu.

Я добавил следующие строки в /etc/security/limits.conf:

*               soft    nofile           100000
*               hard    nofile           100000

И, основываясь на этом вопросе, я проверил /etc/pam.confнастройки для pam_limits:

$ grep "pam_limits" /etc/pam.d/*
/etc/pam.d/atd:session    required   pam_limits.so
/etc/pam.d/common-session:session required pam_limits.so
/etc/pam.d/cron:session    required   pam_limits.so
/etc/pam.d/login:session    required   pam_limits.so
/etc/pam.d/sshd:session    required     pam_limits.so
/etc/pam.d/su:session    required   pam_limits.so
/etc/pam.d/sudo:session required pam_limits.so

И мой файл-макс, кажется, в порядке:

$ cat /proc/sys/fs/file-max 
762659

Тем не менее , я до сих пор по умолчанию 1024 , когда я проверяю ulimit -a:

$ ulimit -a | grep files
open files                      (-n) 1024

Что еще я могу проверить?

bantic
источник
Кроме того, как дополнительное пояснение: A ulimit -n 100000работает должным образом (хотя это не помогает мне, потому что оно сохраняется только в текущем сеансе входа в систему).
Бантик

Ответы:

12

Я понял, что система не похожа на шаблон для пользователя limits.conf. Изменив это на: root soft nofile 100000и root hard nofile 100000работал нормально.

bantic
источник
Должно быть ошибка в Ubuntu. Я проверил, что подстановочные знаки работают в Fedora 14.
Марк Вагнер
13
Подстановочные знаки работают, но не влияют на учетную запись root. manpages.ubuntu.com/manpages/natty/en/man5/limits.conf.5.html говоритNOTE: group and wildcard limits are not applied to the root user. To set a limit for the root user, this field must contain the literal username root.
Stobor