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.