cgroup之 memory cgroup(一)

这篇博客详细介绍了Linux内核中的memory cgroup子系统,包括当启用或禁用层级时,不同cgroup间内存统计和管理的差异。内容涉及了cgroup的挂载流程、目录与节点的创建过程,以及在不同条件下如何进行内存的charge、uncharge、回收和OOM处理。此外,文章还提及了cgroup目录和文件节点的创建逻辑,以及如何区分默认节点和继承节点。
摘要由CSDN通过智能技术生成

如前文所述,memcg的整体框架如下:

对于memcg,作为一个cgroup的subsystem,它遵循hierarchy的所有规则,另外,对于hierarchy中cgroup的层级对memcg管理规则的影响,主要分两方面:

1、 如果不启用hierarchy,即mem_cgroup->use_hierarchy =false,则所有的memcg之间都是互相独立,互不影响的,即使是父子cgroup之间,也跟两个单独创建的cgroup一样。

2、 如果启用hierarchy,即mem_cgroup->use_hierarchy =true,则memcg的统计需要考虑hierarchy中的层级关系,其影响因素主要有:

a.     Charge/uncharge如果子cgroup中charge/uncharge了一个page,则其父cgroup和所有祖先cgroup都要charge/uncharge该page。

b.    Reclaim因为父cgroup的统计中包含了所有子cgroup中charge的page,所以在回收父cgroup中使用的内存时,也可以回收子cgroup中进程使用的内存。

c.     Oom因为父cgroup的统计中包含了所有子cgroup中charge的page,所以如果父cgroup需要出发oom,则oom可以考虑杀死子cgroup中的进程,达到释放内存的效果。

前面已经讲过初始化cgroup的基本流程,下面将初始化过程中文件目录以及节点的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值