篇首语:本文由小编为大家整理,主要介绍了CGroup原理篇V1十一Memory子系统(Memcg)实现备忘录相关的知识,希望对你有一定的参考价值。
因为VM非常复杂(memcg就是其中一个原因)。memcg的行为也很复杂。这个文档描述了memcg的内部行为。该文档基于Linux 2.6.33-rc7-mm,所以其实现细节随着版本的发展可能会有改变。
常常使用下面的两个对象:
在启动或者内存热插拔时分配。在内存热卸载时释放。
swapon()分配,swapoff()释放。
page_cgroup具有 USED 位,并且对page_cgroup进行双重计数,但从未发生过。当管理的页面被换出时,swap_cgroup才被使用。
一个page或swp_entry可能通过mem_cgroup_try_charge() (usage += PAGE_SIZE)被记录。
一个page或swp_entry通过下面的函数被解除(usage -= PAGE_SIZE)
当页的引用计数为0时调用。
当swp_entry的引用计数为0时调用。
memcg页通过下面两种方法记录:
mem_cgroup_try_charge()
try_charge()即usag
以上是关于CGroup原理篇V1十一Memory子系统(Memcg)实现备忘录的主要内容,如果未能解决你的问题,请参考以下文章