We worry about that because in our system ,we use systemd manager our service . One day we find some machine suddenly eat lots of memory. we find in some case,our server will start fail just recording a log then exit。 but the systemd will relaunch this server every 2 second. That server is limit memory access by memcg. After long time dig, we find their lots of offline but not release memcg object in memory eating lots of memory. Why this memcg not release? Because the inode pagecache use some page which is charged to those memcg, And we find some time the inode(log file inode ) is also charged to one memcg. The only way to release that memcg is to free the inode object(example, to remove the log file.) No matter which allocator using (slab or slub), the problem is aways there. After I view the code in slab ,slub and memcg. I think in above general scenario there maybe a problem. Thanks for replying
|