On Thu 25-07-19 15:17:17, Stefan Priebe - Profihost AG wrote: > Hello all, > > i hope i added the right list and people - if i missed someone i would > be happy to know. > > While using kernel 4.19.55 and cgroupv2 i set a MemoryHigh value for a > varnish service. > > It happens that the varnish.service cgroup reaches it's MemoryHigh value > and stops working due to throttling. What do you mean by "stops working"? Does it mean that the process is stuck in the kernel doing the reclaim? /proc/<pid>/stack would tell you what the kernel executing for the process. > But i don't understand is that the process itself only consumes 40% of > it's cgroup usage. > > So the other 60% is dirty dentries and inode cache. If i issue an > echo 3 > /proc/sys/vm/drop_caches > > the varnish cgroup memory usage drops to the 50% of the pure process. > > I thought that the kernel would trigger automatic memory reclaim if a > cgroup reaches is memory high value to drop caches. Yes, that is indeed the case and the kernel memory (e.g. inodes/dentries and others) should be reclaim on the way. Maybe it is harder for the reclaim to get rid of those than drop_caches. We need more data. -- Michal Hocko SUSE Labs