Re: No memory reclaim while reaching MemoryHigh

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux