Подтвердить что ты не робот

Что означает "soft/hard nofile" в Linux?

Когда я попытался установить программное обеспечение на 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

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

Ответ 3

В качестве дополнительного варианта некоторые дистрибутивы включают /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 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.

Также, если вы хотите установить как soft/hard на одно и то же значение, вы можете использовать - как тип.

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