On Wed, Nov 21, 2018 at 04:46:48PM +0800, dong wrote: > Sorry, I found when I ran `echo 3 > /proc/sys/vm/drop_caches`, the > leak memory was released very slowly. > > The `Page Cache` of the opened log file is the reason to cause leak. > Because the `struct page` contains `struct mem_cgroup *mem_cgroup` > which has a large chunk of memory. Thanks everyone for helping me to > solve the problem. Ah, so it doesn't seem to be kmem problem at all. The email I sent several minutes ago isn't relevant then. > The last question: If I alloc many small pages and not free them, will > I exhaust the memory ( because every page contains `mem_cgroup` )? Once memory usage is close to the limit, the reclaimer will kick in automatically to free those pages and the associated dead cgroups.