Постоянное повышение лимитов на nofile в Ubuntu 14.04 LTS
Кажется, я не могу понять, что именно нужно для того, чтобы максимальное количество файловых дескрипторов постоянно вызывалось для всех пользователей.
/etc/security/limits.conf
:
root hard nofile 1500000
root soft nofile 1000000
root hard nproc 15000
root soft nproc 10000
* hard nofile 1500000
* soft nofile 1000000
* hard nproc 15000
* soft nproc 10000
Я поместил следующее в /etc/pam.d/common-session
:
session required pam_limits.so
После перезагрузки, войдя под любым пользователем и выдав ulimit -n
привело к 1024
,
После этого я попытался требовать pam_limits.so
в каждый файл под /etc/pam.d
, Rebooted. Войти в систему. Нет такой удачи.
Если я дам команду ulimit -n 1000000
, затем проверьте, лимит установлен, как ожидалось. Итак, я разместил @reboot ulimit -n 1000000
в crontab -e
, Rebooted. Войти в систему. Не повезло.
Я проверил /etc/ssh/sshd_config
и PAM включен.
Я попытался установить ограничения при каждой перезагрузке с помощью:
/sbin/sysctl -w fs.file-max=1000000
/sbin/sysctl -p
Неудачно.
У меня есть сервер с тонной одновременного трафика, и мне нужны такие высокие ограничения, потому что серверу требуется очень много времени, чтобы очистить файловые дескрипторы. Что мне нужно сделать, чтобы навсегда поднять предел дескриптора файла?
1 ответ
Таким образом, я увеличил лимиты количества файлов для всех (сегмент от /etc/security/limits.conf
):
# - memlock - max locked-in-memory address space (KB)
# - nofile - max number of open files (Doug: - so Samba will not complain)
* - nofile 16384
# - rss - max resident set size (KB)
# - stack - max stack size (KB)
Это было на сервере 12.04. Тем не менее, я протестировал 100000 на моем сервере 14.04, и он работал нормально.
~/config/security$ ulimit -n
16384