limits.conf (Русский)

Перевод
этой статьи или раздела не отражает оригинальное содержание.
Причина:
Невычитанная копипаста из переводчика DeepL. (
Discuss
)
Related articles
cgroups
Security
/etc/security/limits.conf
позволяет устанавливать ограничения на ресурсы для пользователей, вошедших в систему через
PAM
. Это полезный способ предотвратить, например
fork-bombs
от использования всех системных ресурсов.
Note
Этот файл не влияет на работу системных служб. Для служб
systemd
лимитом управляют файлы
/etc/systemd/system.conf
,
/etc/systemd/user.conf
, и
/etc/systemd/system/
unit
.d/override.conf
. Подробности см. на странице
systemd-system.conf(5)
man page for details.
Синтаксис
Файл по умолчанию хорошо прокомментирован, но дополнительную информацию можно получить, просмотрев страницу
limits.conf(5)
man page.
Рекомендации
core
Corefiles полезны для отладки, но раздражают при обычном использовании системы. Вам следует установить мягкое ограничение 0 и жесткое ограничение неограниченное, а затем временно повышать ограничение для текущей оболочки с помощью
ulimit -c unlimited
когда вам нужны corefiles для отладки.
*           soft    core       0           # Запретить генерировать corefiles по умолчанию.
*           hard    core       unlimited   # Позволяет временно включать core файлы.
nice
Вы должны запретить всем, кроме root, иметь процессы с минимальной доброжелательностью (-20), чтобы root мог исправить неотзывчивую систему.
*           hard    nice       -19         # Запретитm пользователям, не являющимся root-пользователями, запускать процесс с минимальным значением.
root        hard    nice       -20         # Позволяет root запустить процесс на минимальном уровне, чтобы исправить ситуацию, когда система не реагирует на запросы.
nofile
Это ограничивает количество файловых дескрипторов, которые могут быть открыты в любой момент времени у процесса, принадлежащего указанному домену. Вам может потребоваться увеличить это значение до
8192
для работы некоторых игр
. Некоторые приложения баз данных, такие как MongoDB или Apache Kafka, рекомендуют устанавливать
nofile
на
64000
или
128000
[1]
.
*           hard    nofile     65535
*           soft    nofile      8192        # Требуется для запуска некоторых игр.
Warning
Слишком большое или неограниченное значение может привести к поломке некоторых инструментов, например
fakeroot
.
nproc
Ограничение nproc очень важно, поскольку оно ограничивает количество раз, которое может повторить бомба-вилка. Однако слишком низкое значение может сделать вашу систему нестабильной или даже непригодной для использования, поскольку новые процессы не смогут создаваться.
Значение
300
слишком мало даже для самых минимальных Window-менеджеров, чтобы запустить больше нескольких настольных приложений и демонов, но часто подходит для серверов без X (на самом деле,
300
это значение, которое факультет компьютерных наук Университета Джорджии использовал для ограничения процессов для студентов на своих Linux-серверах в 2017 году).
Вот пример ограничения nproc для всех пользователей системы:
*           hard    nproc      2048        # Не позволяйте вилочным бомбам вывести систему из строя.
Обратите внимание, что это значение
2048
всего лишь пример, и вам может понадобиться установить более высокое значение. С другой стороны, вы можете обойтись и более низким значением.
Какое бы значение nproc вы ни установили, не забудьте разрешить пользователю root создавать столько процессов, сколько он захочет; в противном случае вы можете сделать систему неработоспособной, установив обычный лимит nproc слишком низким. Обратите внимание, что эта строка должна идти после глобального hardlimit, а значение ниже (
65536
) является произвольным.
root        hard    nproc      65536       # Предотвращение того, что root не может запустить достаточное количество процессов.
приоритет
Обычно по умолчанию "niciness" должен быть равен 0, но вы можете установить для отдельных пользователей и групп разные приоритеты по умолчанию с помощью этого параметра.
*           soft    priority   0           # Установите приоритет по умолчанию на нейтральную niceness.