GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nastavit limity zdrojů pro proces s Systemd v CentOS/RHEL 7 a 8

Některé specifické aplikace nebo procesy mohou vyžadovat vyšší hodnoty prostředků, než jsou výchozí hodnoty přiřazené systémem. Je možné přepsat výchozí limity zdrojů přiřazené systemd.

Systemd v zásadě nastavuje výchozí limity pro jakýkoli proces při jeho spuštění. Například:

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

Z výše uvedeného příkladu Max. zamčená paměť je 64 kB pro PID 1696 a pro některé procesy nebo aplikace to nemusí stačit. Existuje několik způsobů, jak to změnit.

Metoda 1 – Globální změna

Změňte výchozí hodnotu globálně, toto se projeví u všech procesů. Upravte soubor /etc/systemd/system.conf a změňte tam hodnotu.

1. Pokud zaškrtnete toto políčko, ve výchozím nastavení bude tato hodnota zakomentována, a proto je v platnosti výchozí hodnota 64 kB.

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

2. Chcete-li to změnit, upravte soubor a odkomentujte řádek požadovaného zdroje a přidejte požadovanou hodnotu. Například.

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

Tím se při spuštění změní maximální zamknutá paměť pro „vše“ na 128 kB.

Metoda 2 – Změna pro konkrétní službu nebo proces

Pokud je požadavkem změnit limit prostředků pro jakýkoli konkrétní proces nebo aplikaci, pomůže vám níže uvedená metoda.

1. Chcete-li změnit hodnotu prostředku pro jakýkoli konkrétní proces/službu.

To lze provést úpravou souboru servisní jednotky a přidáním detailu limitu tam se servisní sekcí. Příklad níže pro službu „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

S výše uvedeným souborem servisní jednotky nový řádek „LimitMEMLOCK=128000“ přiřadí 128 kB Max Locked Memory pro konkrétní proces, když se spustí. Všechny ostatní procesy budou mít výchozí hodnotu podle systemd.


Cent OS
  1. Jak nastavit děti-max pro službu udev v CentOS/RHEL 7

  2. Jak ovládat prostředek (cgroup) pomocí systemd pro skupinu uživatelských procesů v CentOS/RHEL 7

  3. Jak znovu vygenerovat initramfs a vmlinuz pro Rescue Kernel s aktuálním jádrem v CentOS/RHEL 7

  1. Jak nastavit primární displej na CentOS/RHEL 7 se dvěma monitory a GNOME

  2. Jak změnit limity jaderného semaforu v CentOS/RHEL

  3. Jak nastavit hodnoty ulimit pro službu systemd

  1. Jak nastavit nebo změnit název hostitele v CentOS 7 / RHEL 7

  2. CentOS / RHEL 7 :Jak změnit úrovně běhu (cíle) pomocí systemd

  3. CentOS / RHEL 7 :Jak nakonfigurovat sériové getty pomocí systemd