Кажется, я не могу понять, что именно нужно для того, чтобы максимальное количество файловых дескрипторов постоянно вызывалось для всех пользователей.
/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
Не повезло.
У меня есть сервер с тонной одновременного трафика, и мне нужны эти ограничения настолько высоко, потому что серверу требуется очень много времени, чтобы очистить файловые дескрипторы. Что мне нужно сделать, чтобы навсегда поднять предел дескриптора файла?
Я увеличил число пределов файлов для всех этот путь (сегмент от /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