Ubuntu: Невозможно изменить ограничение на количество открытых файлов для root (все пользователи), в чем может быть причина?

I У меня есть сервер Ubuntu 16.04.

Когда я запускаю как root, ulimit -n я получаю 1024.

Когда я запускаю его как мой пользователь, я получаю 65535.

Но я хочу сделать убедитесь, что у всех пользователей, включая root, ограничение на количество открытых файлов установлено на 65535.

Проблема в том, что я сделал все, что знаю, чтобы его изменить, но для root он показывает 1024.

Вот что я Сделано:

root@sensu:/etc/security/limits.d# cat 90-nofiles.conf
* soft     nproc          65535
* hard     nproc          65535
* soft     nofile         65535
* hard     nofile         65535

root@sensu:/etc/security# grep nofile limits.conf
#        - nofile - max number of open files
*   soft     nofile         65535
*   hard     nofile         65535

root@sensu:/etc/security# grep file-max  /etc/sysctl.conf
fs.file-max = 65536

Конечно, я запустил sysctl -p .

Проблемный процесс - redis:

root@sensu:/proc# grep "open files" /proc/1487/limits
Max open files            4096                 4096                 files

Глядя на файл инициализации redis:

root@sensu:/proc# grep ulimit /etc/init.d/redis-server
    ulimit -n 100001

Как вы видите в примерах, нет причин, по которым это ограничение должно быть 1024, но все же ... оно равно 1024.

В чем может быть причина? Где этот параметр, который мне не хватает?

1
задан 20 February 2017 в 15:14
1 ответ

Я нашел ответ в этом сообщении stackoverflow .

Похоже на добавление:

* soft     nofile         65535
* hard     nofile         65535 

Достаточно при редактировании ограничение для пользователей без полномочий root.

Но чтобы изменить ограничения для пользователей root, его нужно добавить явно:

root soft     nofile         65535
root hard     nofile         65535

Теперь он работает как задумано:

root@sensu:~# ulimit -n
65535
3
ответ дан 3 December 2019 в 18:31

Теги

Похожие вопросы