🐧 Как установить ограничения ресурсов для процесса с Systemd в CentOS / RHEL 7 и 8 |

🐧 Как установить ограничения ресурсов для процесса с Systemd в CentOS / RHEL 7 и 8

Мануал

Некоторым конкретным приложениям или процессам могут потребоваться более высокие значения ресурсов, чем назначенным системным значениям по умолчанию.

Можно переопределить ограничения ресурсов по умолчанию, назначенные systemd.

В основном systemd устанавливает ограничения по умолчанию для любого процесса при его запуске.

Например:

# cat /proc/1696/limits | grep "Max locked memory"
Max locked memory         65536                65536                bytes
В приведенном выше примере Max Locked memory составляет 64 КБ для PID 1696, и для некоторых процессов или приложений этого может быть недостаточно.
Есть несколько способов изменить это.

Метод 1 – глобальное изменение

Измените значение по умолчанию глобально, что означает, что изменения вступят в силу для всех процессов.

Отредактируйте файл /etc/systemd/system.conf и измените значение.

1. Вы можете увидеть, что это значение будет закомментировано, и, следовательно, будет действовать значение по умолчанию 64 КБ.

# cat /etc/systemd/system.conf | grep DefaultLimitMEMLOCK
#DefaultLimitMEMLOCK=
2. Чтобы изменить это, отредактируйте файл и раскомментируйте строку и добавьте желаемое значение.
Например:
# vi /etc/systemd/system.conf
DefaultLimitMEMLOCK=128000
Это изменит значение для всех процессов до 128K при запуске.

Метод 2 – Изменение для конкретной службы или процесса

Если требуется изменить ограничение ресурсов для какого-либо конкретного процесса или приложения, то поможет следующий метод.

1. Измените значение ресурса для любого конкретного процесса / сервиса.

Это можно сделать, отредактировав юнит файл сервиса и добавив в него информацию об ограничении в разделе Service.

Пример для службы «test»

# vi test.service
[Unit]
Description=TEST SERVICE
Wants=network.target network-online.target autofs.service
After=network.target network-online.target autofs.service

[Service]
Type=simple
User=farmer
ExecStart=/path/to/service/executable <>
LimitMEMLOCK=128000
PIDFile=/var/run/test.pid

[Install]
WantedBy=multi-user.target
В указанном выше файле в блоке Service новая строка «LimitMEMLOCK=128000» назначит 128K Max Locked Memory для конкретного процесса при его запуске.
Все остальные процессы будут иметь значение по умолчанию в соответствии с systemd.

Пожалуйста, не спамьте и никого не оскорбляйте. Это поле для комментариев, а не спамбокс. Рекламные ссылки не индексируются!
Добавить комментарий