11

Я добавил строку в /etc/security/limits.conf чтобы увеличить количество открытых файлов.

*    hard nofile 4096
root hard nofile 16384

Однако, когда я запускаю ulimit -n он говорит 1024, что является значением по умолчанию. Я сделал выход и войдите, но все еще видите 1024. Как я могу применить изменения?

2 ответа2

12

Изменения, сделанные командой ulimit :

$ ulimit -n 4096
$ ulimit -Hn 16384

будет применяться только для текущего пользователя и сеанса. Чтобы сделать его постоянным, вы должны изменить /etc/security/limits.conf , добавив свои ограничения:

* soft nofile 4096
* hard nofile 16384

Однако подстановочный знак * не будет применяться для пользователя root . Для этого вы должны указать это явно:

* soft nofile 4096
* hard nofile 16384
root soft nofile 4096
root hard nofile 16384

Эти ограничения будут применяться после перезагрузки.

Если вы хотите применить изменения без перезагрузки, измените /etc/pam.d/common-session , добавив следующую строку в конец файла:

session required pam_limits.so

При следующем входе в систему вы увидите обновленные лимиты, вы можете проверить их (мягкие и жесткие ограничения):

$ ulimit -a
$ ulimit -Ha
6

Если вы используете bash , ulimit -n будет отображать только мягкое ограничение. Чтобы получить жесткий лимит, нужно сделать ulimit -Hn .

В моей системе я вижу это:

$ ulimit -n
1024
$ ulimit -Hn
4096

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .