Что означает «мягкий / жесткий нофайл» в Linux - PullRequest
20 голосов
/ 24 июня 2010

Когда я попытался установить программное обеспечение на RedHat EL5, я получил ошибку, что ожидаемое значение soft / hard nofile равно 4096, а значение по умолчанию - 1024. Мне удалось увеличить число, но я не знаю, чтопараметры есть.Они ссылаются на мягкую ссылку и жесткую ссылку?

Способ, которым я меняю это:

A) изменить /etc/security/limits.conf

user soft nofile 5000
user hard nofile 6000

B) изменить /etc/pam.d/system-auth

session required /lib/security/$ISA/pam_limits.so

C) изменить /etc/pam.d/login

session required pam_limits.so

После внесения изменений (путем переключенияболеть).Кажется, мне нужно перезагрузить машину, чтобы это произвело эффект.Но некоторые публикации в Интернете говорят, что это должно вступить в силу сразу после внесения изменений.Был бы признателен, если кто-то может уточнить это.

Ответы [ 3 ]

34 голосов
/ 24 июня 2010

Это: «мягкое» и «жесткое» ограничение на количество файлов, которые процесс может открыть одновременно. Оба ограничивают один и тот же ресурс (никакого отношения к жестким ссылкам или чему-либо еще). Разница в том, что мягкий предел может быть изменен позже, вплоть до значения жесткого предела, процесс, запущенный с этими ограничениями, и жесткое ограничение могут быть только снижены - процесс не может назначать себе больше ресурсов путем увеличения жесткого предела (кроме процессов, запущенных с привилегиями суперпользователя (как root).

Аналогичные ограничения могут быть установлены для других системных ресурсов: системной памяти, времени ЦП и т. Д. См. Страницу руководства setrlimit(2) или описание встроенной команды ulimit вашей оболочки (например, на странице руководства bash(1)). .

4 голосов
/ 24 июня 2010

Перезагрузка не требуется, но /etc/security/limits.conf обрабатывается только при запуске /lib/security/pam_limits.so, который выполняется во время входа в систему, а значения наследуются дочерними процессами. После нового входа в систему все данные под этим именем будут наследовать указанные значения.

2 голосов
/ 29 сентября 2015

В дополнение к этому, некоторые дистрибутивы включают /etc/security/limits.d, где можно разместить «фрагменты» предельных конфигураций. Вы можете создавать файлы, такие как это:

$ ll /etc/security/limits.d/
-rw-r--r--. 1 root root 191 Aug 18 10:26 90-nproc.conf
-rw-r--r--  1 root root  70 Sep 29 12:54 90-was-filedesc.conf

С файлами, содержащими любые ограничения, которые вы хотите установить:

$ more /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     1024
root       soft    nproc     unlimited

$ more /etc/security/limits.d/90-was-filedesc.conf
root       hard    nofile    20000

Я считаю, что использование этого метода для управления этими типами переопределений намного чище, чем перебивание с помощью /etc/security/limits.conf.

Кроме того, если вы хотите установить одинаковое / мягкое / жесткое значение, вы можете использовать - в качестве типа.

$ more /etc/security/limits.d/90-was-filedesc.conf
root       -       nofile    20000
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...