Постійне підвищення лімітів нофілів в 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. Перезавантажено. Увійшли. Немає такої удачі.

Якщо я видаю команду ulimit -n 1000000, то перевірте, встановлено ліміт, як очікувалося. Отже, я розмістився @reboot ulimit -n 1000000в crontab -e. Перезавантажено. Увійшли. Не пощастило.

Я перевірив /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

Ні. Я просто зробив правки, як судо, і перезавантажився, до того, як 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.