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