How do I enable the cgroup memory controller on Armbian? I’m trying to control memory usage on my orange pi one using systemd with a unit file as follows:
[Service]
Slice=influxGroup.slice
MemoryAccounting=true
MemoryHigh=100M
MemorySwapMax=250M
The command systemd-cgls confirms that the influxGroup.slice has been created, yet memory is not controlled in line with the parameters in the unit file.
I think the issue may be that cgroup memory controller is not enabled. I haven’t done anything to enable it, but I did notice that dmesg appears to indicate an enable statement in the kernel parameters:
[ 0.000000] Kernel command line: root=UUID=5446759b-56c9-4877-ad1f-15e43cbb95cc rootwait rootfstype=ext4 console=tty1 console=ttyS0,115200 hdmi.audio=EDID:0 disp.screen0_output_mode=1920x1080p60 panic=10 consoleblank=0 loglevel=1 ubootpart=f22f559a-01 ubootsource=mmc usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_fb_mem_reserve=16 cgroup_enable=memory swapaccount=1
However /proc/cgroups would indicate (I think) that it is not enabled.
#subsys_name hierarchy num_cgroups enabled
Cpuset 10 1 1
cpu 3 8 1
cpuacct3 8 1
blkio2 8 1
memory5 28 1
devices9 87 1
freezer6 1 1
net_cls8 1 1
perf_event 11 1 1
net_prio 8 1 1
pids4 90 1
rdma7 1 1
So my broadest question is how do I get the system to do what the unit file asks for, which reduces to (I think) a narrower question of: how do I enable the cgroup memory controller on Armbian?