Am Sun, 12 Nov 2017 18:14:38 +0100 schrieb Stefan Schweter <ste...@schweter.it>:
> Hi systemd-users, > > I tried to add a memory limit for a user service unit (inspired by > [1]), it looks like: > > [Service] > # .... > MemoryAccounting=true > MemoryLimit=1G > > Now the problem is that the (user) service consumes more than 1G > without being terminated. As far as I could see, this limits the amount of RAM occupied. It doesn't stop the memory from being swapped out. You need to limit swap memory, too. Take note that swap accounting may have noticeable overheads and as such is not enabled by default on many systems. > htop shows a memory consumption of 1.4 GB. The output of > `systemd-cgtop` is: > > Control Group Tasks %CPU Memory > Input/s Output/s > / - 1.5 > 1.7G - > > /user.slice 46 0.4 > 14.3M - > > /user.slice/user-1001.slice 46 0.4 > 14.2M - > > /init.scope 1 - > 1.4M - > > /system.slice > > > So my question is how would MemoryLimit= work for a user unit? Maybe you want to apply the limit to a slice? Your output of cgtop doesn't show any service units... -- Regards, Kai Replies to list-only preferred. _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/systemd-devel