Постоянное повышение лимитов на nofile в Ubuntu 14.04 LTS


12

Кажется, я не могу понять, что именно нужно для того, чтобы максимальное количество файловых дескрипторов постоянно вызывалось для всех пользователей.

/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

Неудачно.

У меня есть сервер с тонной одновременного трафика, и мне нужны такие высокие ограничения, потому что серверу требуется очень много времени, чтобы очистить файловые дескрипторы. Что мне нужно сделать, чтобы навсегда поднять предел дескриптора файла?

Ответы:


11

Таким образом я увеличил лимиты количества файлов для каждого (сегмент от /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

2
Это все еще не имело никакого эффекта. Вы должны были session require pam_limits.soгде-нибудь разместить ?
w3rthl3ss

Нет. Я только что выполнил редактирование, как sudo, и перезагрузил компьютер до того, как ulimit стал 1024, и после того, как ulimit на моем тестовом сервере 14.04 стал 100000.
Doug Smythies

Простая настройка /etc/security/limits.confи возврат всего остального обратно в сток работало. Благодарность!
w3rthl3ss

Не нужно перезагружаться, просто выйдите из системы / войдите в систему.
Джейкоб

@ w3rthl3ss как выглядит ваш limit.conf у меня та же проблема и справочные цели
Rizwan Patel
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.