GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So legen Sie Ressourcenlimits für einen Prozess mit Systemd in CentOS/RHEL 7 und 8 fest

Einige spezifische Anwendungen oder Prozesse benötigen möglicherweise höhere Ressourcenwerte als die standardmäßig systemd zugewiesenen Werte. Es ist möglich, die von systemd zugewiesenen Standardressourcenlimits zu überschreiben.

Grundsätzlich legt systemd die Standardgrenzen für jeden Prozess beim Start fest. Zum Beispiel:

# cat /proc/1696/limits | grep "Max locked memory"
Max locked memory         65536                65536                bytes

Aus dem obigen Beispiel der Max Locked memory ist 64 KB für die PID 1696, und für einige Prozesse oder Anwendungen reicht dies möglicherweise nicht aus. Es gibt mehrere Möglichkeiten, dies zu ändern.

Methode 1 – Global ändern

Ändern Sie den Standardwert global. Dies wird für alle Prozesse wirksam. Bearbeiten Sie die Datei /etc/systemd/system.conf und dort den Wert ändern.

1. Wenn Sie diese Option aktivieren, wird dieser Wert standardmäßig auskommentiert und daher ist die Standardgröße von 64 KB wirksam.

# cat /etc/systemd/system.conf | grep DefaultLimitMEMLOCK
#DefaultLimitMEMLOCK=

2. Um dies zu ändern, bearbeiten Sie die Datei und kommentieren Sie die gewünschte Ressourcenzeile aus und fügen Sie den gewünschten Wert hinzu. Zum Beispiel.

# vi /etc/systemd/system.conf
DefaultLimitMEMLOCK=128000

Dadurch wird der maximale gesperrte Speicher für „alle“ Prozesse beim Start auf 128 KB geändert.

Methode 2 – Änderung für einen bestimmten Dienst oder Prozess

Wenn die Ressourcengrenze für einen bestimmten Prozess oder eine bestimmte Anwendung geändert werden muss, hilft die folgende Methode.

1. Um den Ressourcenwert für einen bestimmten Prozess/Dienst zu ändern.

Dazu bearbeiten Sie die Service Unit-Datei und fügen dort das Limit-Detail mit dem Service-Abschnitt hinzu. Beispiel wie unten für den Dienst „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

Bei der obigen Service-Unit-Datei weist die neue Zeile „LimitMEMLOCK=128000“ dem spezifischen Prozess beim Start 128K Max Locked Memory zu. Alle anderen Prozesse haben den Standardwert gemäß systemd.


Cent OS
  1. CentOS / RHEL 7 :So ändern Sie Runlevel (Ziele) mit systemd

  2. CentOS / RHEL 7 :So konfigurieren Sie Serial Getty mit Systemd

  3. So legen Sie children-max für den udev-Dienst in CentOS/RHEL 7 fest

  4. So steuern Sie die Ressource (cgroup) mit systemd für die Benutzerprozessgruppe in CentOS/RHEL 7

  5. So generieren Sie initramfs und vmlinuz für den Rescue-Kernel mit dem aktuellen Kernel in CentOS/RHEL 7 neu

Anleitung zum Installieren und Einrichten eines Beispieldienstes mit xinetd unter RHEL 8 / CentOS 8 Linux

So legen Sie Ressourcenlimits für einen Plesk-Serviceplan fest

So stellen/ändern Sie den Hostnamen in CentOS 8 / RHEL 8

So richten Sie ein IPsec-basiertes VPN mit Strongswan unter CentOS/RHEL 8 ein

So legen Sie Umgebungsvariablen für einen systemd-Dienst in CentOS/RHEL 7 fest

So legen Sie ulimit-Werte für einen systemd-Dienst fest