изменить и применить limit.conf без перезагрузки


15

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

*    hard nofile 4096
root hard nofile 16384

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

Ответы:


8

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

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

$ ulimit -n
1024
$ ulimit -Hn
4096

16

Изменения, сделанные по 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

2
У меня была проблема с этим подходом, которая была действительно странной. Я использую Ubuntu 14 и включен pam_limits.soв /etc/pam.d/common-session. Я настроил в /etc/security/limits.confпользователе x жесткие и мягкие ограничения для nofile64000. sudo -u xЗатем ulimit -aпоказывает, что изменения не были применены. Я понял , что suи sudoимеют различные конфигурации Пэм так, чтобы заставить его работать правильно мне нужно включить pam_limits.soв /etc/pam.d/common-session-noninteractive. Если вам интересно, каков вариант использования - я использую ansible и sudo для смены пользователя.
хахчо

1
По какой-то причине мне пришлось добавить его, чтобы /etc/pam.d/common-session-noninteractiveон работал.
Sumit
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.