Încerc să restricționez utilizarea de swap a unui proces folosind MemorySwapMax
așa cum se menționează în doc cu Ubuntu 18.04.
Mediu inconjurator
ubuntu@vrni-platform:/usr/lib/systemd/system$ uname -a
Linux vrni-platform 4.15.0-143-generic #147-Ubuntu SMP Miercuri 14 aprilie 16:10:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
ubuntu@vrni-platform:/usr/lib/systemd/system$ systemctl --version
systemd 237
+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid
Fișierul meu de unitate systemd arată ca mai jos
[Unitate]
Description=Serviciul meu
După=rețea.țintă
StartLimitIntervalSec=0
[Serviciu]
Tip=simplu
Restart=intotdeauna
RestartSec=1
Utilizator=asistență
MemoryMax=2000M
KillMode=proces
MemoryAccounting=adevărat
OOMScoreAdjust=1000
MemorySwapMax=0
ExecStart=/usr/bin/java -cp /home/support -XX:NativeMemoryTracking=summary -Xmx10000m MemoryConsumer 100 200 1
Am încercat să dezactivez schimbul pentru acest proces specificând 0 pentru MemorySwapMax
. Dar se pare că au fost unele problema în systemd care este fixat în systemd 239.
Așa că am încercat și setarea MemorySwapMax=1M
. Dar, de asemenea, pare să nu restricționeze utilizarea memoriei de swap pentru acest serviciu systemd.
Documentatia pentru MemorySwapMax
afirmă acest lucru
Această setare este acceptată numai dacă este utilizată ierarhia unificată a grupului de control și dezactivează MemoryLimit=.
Poate cineva să-mi spună cum pot să știu dacă ierarhie unificată a grupului de control
este folosit în configurarea mea sau care ar putea fi problema care nu permite MemorySwapMax
sa intre in vigoare?