<div dir="ltr">Hi<div><br></div><div><span style="color:rgb(36,39,41);font-family:-apple-system,system-ui,"Segoe UI","Liberation Sans",sans-serif;font-size:15px">I am trying to restrict the swap usage of a process using </span><code style="margin:0px;padding:2px 4px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:inherit;font-size:13px;vertical-align:baseline;box-sizing:inherit;white-space:pre-wrap;color:rgb(36,39,41);border-radius:3px">MemorySwapMax</code><span style="color:rgb(36,39,41);font-family:-apple-system,system-ui,"Segoe UI","Liberation Sans",sans-serif;font-size:15px"> as mentioned in the </span><a href="http://manpages.ubuntu.com/manpages/bionic/man5/systemd.resource-control.5.html" rel="nofollow noreferrer" style="margin:0px;padding:0px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:inherit;font-family:-apple-system,system-ui,"Segoe UI","Liberation Sans",sans-serif;font-size:15px;vertical-align:baseline;box-sizing:inherit">doc</a><span style="color:rgb(36,39,41);font-family:-apple-system,system-ui,"Segoe UI","Liberation Sans",sans-serif;font-size:15px"> with Ubuntu 18.04.</span><br></div><div><span style="color:rgb(36,39,41);font-family:-apple-system,system-ui,"Segoe UI","Liberation Sans",sans-serif;font-size:15px"><br></span></div><div><span style="color:rgb(36,39,41);font-family:-apple-system,system-ui,"Segoe UI","Liberation Sans",sans-serif;font-size:15px">Environment</span><span style="color:rgb(36,39,41);font-family:-apple-system,system-ui,"Segoe UI","Liberation Sans",sans-serif;font-size:15px"><br></span></div><div><span style="color:rgb(36,39,41);font-family:-apple-system,system-ui,"Segoe UI","Liberation Sans",sans-serif;font-size:15px">------------</span></div><div><span style="color:rgb(36,39,41);font-family:-apple-system,system-ui,"Segoe UI","Liberation Sans",sans-serif;font-size:15px"><br></span></div><div><pre style="margin-top:0px;padding:12px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.30769;font-size:13px;vertical-align:baseline;box-sizing:inherit;width:auto;max-height:600px;overflow:auto;border-radius:5px"><code style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;vertical-align:baseline;box-sizing:inherit;background-color:transparent;white-space:inherit;border-radius:0px">ubuntu@vrni-platform:/usr/lib/systemd/system$ uname -a
Linux vrni-platform 4.15.0-143-generic #147-Ubuntu SMP Wed Apr 14 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</code></pre><pre style="margin-top:0px;padding:12px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.30769;font-size:13px;vertical-align:baseline;box-sizing:inherit;width:auto;max-height:600px;overflow:auto;border-radius:5px"><span style="color:rgb(36,39,41);font-family:-apple-system,system-ui,"Segoe UI","Liberation Sans",sans-serif;font-size:15px;white-space:normal">My systemd unit file looks like below</span><br></pre><pre style="margin-top:0px;padding:12px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.30769;vertical-align:baseline;box-sizing:inherit;width:auto;max-height:600px;overflow:auto;border-radius:5px"><pre style="font-size:13px;margin-top:0px;padding:12px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.30769;vertical-align:baseline;box-sizing:inherit;width:auto;max-height:600px;overflow:auto;border-radius:5px"><code style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;vertical-align:baseline;box-sizing:inherit;background-color:transparent;white-space:inherit;border-radius:0px">[Unit]
Description=My service
After=network.target
StartLimitIntervalSec=0
[Service]
Type=simple
Restart=always
RestartSec=1
User=support
MemoryMax=2000M
KillMode=process
MemoryAccounting=true
OOMScoreAdjust=1000
MemorySwapMax=1M
ExecStart=/usr/bin/java -cp /home/support -XX:NativeMemoryTracking=summary -Xmx10000m MemoryConsumer 100 200 1</code></pre><pre style="margin-top:0px;padding:12px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.30769;vertical-align:baseline;box-sizing:inherit;width:auto;max-height:600px;overflow:auto;border-radius:5px">MemoryMax<font face="arial, sans-serif"> is working as expected but </font>MemorySwapMax<font face="arial, sans-serif"> seems to be not taking effect and I am seeing the process, </font>MemoryConsumer<font face="arial, sans-serif"> still using swap more than the one specified in </font>MemorySwapMax, </pre><pre style="font-size:13px;margin-top:0px;padding:12px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.30769;vertical-align:baseline;box-sizing:inherit;width:auto;max-height:600px;overflow:auto;border-radius:5px">MemorySwapMax d<font face="arial, sans-serif">ocumentation states</font> "This setting is supported only if the unified control group hierarchy is used and disables MemoryLimit=."</pre><pre style="margin-top:0px;padding:12px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.30769;vertical-align:baseline;box-sizing:inherit;width:auto;max-height:600px;overflow:auto;border-radius:5px"><font face="arial, sans-serif" style="">As mentioned <a href="https://unix.stackexchange.com/a/471495/364181" style="">here</a> I can see cgroup v2 enabled on my setup.</font></pre><pre style="font-size:13px;margin-top:0px;padding:12px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.30769;vertical-align:baseline;box-sizing:inherit;width:auto;max-height:600px;overflow:auto;border-radius:5px"><pre style="margin-top:0px;padding:12px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.30769;vertical-align:baseline;box-sizing:inherit;width:auto;max-height:600px;overflow:auto;border-radius:5px"><code style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;vertical-align:baseline;box-sizing:inherit;background-color:transparent;white-space:inherit;border-radius:0px">ubuntu@vrni-platform:/tmp/tuk$ sudo mount -t cgroup2 none /tmp/tuk
ubuntu@vrni-platform:/tmp/tuk$ ls -l /tmp/tuk/
total 0
-r--r--r--  1 root root 0 Jul  2 17:13 cgroup.controllers
-rw-r--r--  1 root root 0 Jul  2 17:13 cgroup.max.depth
-rw-r--r--  1 root root 0 Jul  2 17:13 cgroup.max.descendants
-rw-r--r--  1 root root 0 Jun 30 14:42 cgroup.procs
-r--r--r--  1 root root 0 Jul  2 17:13 cgroup.stat
-rw-r--r--  1 root root 0 Jul  2 17:13 cgroup.subtree_control
-rw-r--r--  1 root root 0 Jul  2 17:13 cgroup.threads
drwxr-xr-x  2 root root 0 Jun 30 14:42 init.scope
drwxr-xr-x 87 root root 0 Jul  2 15:05 system.slice
drwxr-xr-x  7 root root 0 Jun 30 15:22 user.slice
ubuntu@vrni-platform:/tmp/debraj$ sudo umount /tmp/tuk</code></pre><pre style="margin-top:0px;padding:12px;border:0px;font-variant-numeric:inherit;font-variant-east-asian:inherit;font-stretch:inherit;line-height:1.30769;vertical-align:baseline;box-sizing:inherit;width:auto;max-height:600px;overflow:auto;border-radius:5px"><code style="margin:0px;padding:0px;border:0px;font-style:inherit;font-variant:inherit;font-weight:inherit;font-stretch:inherit;line-height:inherit;vertical-align:baseline;box-sizing:inherit;background-color:transparent;white-space:inherit;border-radius:0px"><font face="arial, sans-serif">Can someone suggest what configuration I am missing?</font></code></pre></pre></pre></div><div><span style="color:rgb(36,39,41);font-family:-apple-system,system-ui,"Segoe UI","Liberation Sans",sans-serif;font-size:15px"><br></span></div></div>