GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment définir des limites de ressources pour un processus avec Systemd dans CentOS/RHEL 7 et 8

Certaines applications ou processus spécifiques peuvent nécessiter des valeurs de ressources supérieures aux valeurs par défaut attribuées par systemd. Il est possible de remplacer les limites de ressources par défaut attribuées par systemd.

En gros, systemd définit les limites par défaut pour tout processus lorsqu'il démarre. Par exemple :

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

Dans l'exemple ci-dessus, la Mémoire maximale verrouillée est de 64K pour le PID 1696, et pour certains processus ou applications, cela peut ne pas suffire. Il existe plusieurs façons de changer cela.

Méthode 1 - Changer globalement

Modifiez la valeur par défaut globalement, cela prendra effet pour tous les processus. Editez le fichier /etc/systemd/system.conf et modifiez-y la valeur.

1. Si vous cochez, par défaut cette valeur sera commentée et donc le 64K par défaut est en vigueur.

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

2. Pour changer cela, modifiez le fichier et décommentez la ligne de ressource souhaitée et ajoutez la valeur souhaitée. Par exemple.

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

Cela changera la mémoire maximale verrouillée pour le processus "tout" à 128K lorsqu'il démarrera.

Méthode 2 – Modification pour un service ou un processus spécifique

Si l'exigence est de modifier la limite de ressources pour un processus ou une application spécifique, la méthode ci-dessous vous aidera.

1. Pour modifier la valeur de la ressource pour un processus/service spécifique.

Cela peut être fait en éditant le fichier d'unité de service et en y ajoutant le détail de la limite avec la section service. Exemple ci-dessous pour le 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

Avec le fichier d'unité de service ci-dessus, la nouvelle ligne "LimitMEMLOCK =128000" attribuera 128K Max Locked Memory pour le processus spécifique lors de son démarrage. Tous les autres processus auront la valeur par défaut selon systemd.


Cent OS
  1. Comment définir ou modifier le nom d'hôte dans CentOS 7 / RHEL 7

  2. CentOS / RHEL 7 :Comment changer les niveaux d'exécution (cibles) avec systemd

  3. CentOS / RHEL 7 :Comment configurer le getty série avec systemd

  4. Comment définir l'affinité CPU pour le processus SYSTEMD dans CentOS/RHEL 7

  5. Comment définir des variables d'environnement pour un service systemd dans CentOS/RHEL 7

Comment définir l'affichage principal sur CentOS/RHEL 7 avec deux moniteurs et GNOME

Comment installer et configurer un exemple de service avec xinetd sur RHEL 8 / CentOS 8 Linux

Comment définir des limites de ressources pour un plan de service Plesk

Comment définir/modifier le nom d'hôte dans CentOS 8 / RHEL 8

Comment configurer un VPN basé sur IPsec avec Strongswan sur CentOS/RHEL 8

Comment désactiver le service rpc.quotad dans CentOS/RHEL 6 et 7