
cgroup
laughing_zou
android驱动开发
展开
-
Android中cgroup文件系统的mount流程
我们知道Android起来之后cgroup的各个子系统的文件夹都放在dev目录下,例如:/dev/memcg//dev/cpuctrl//dev/cpuset//dev/acct//dev/blkio/以上这些文件夹都是在初始化时候在init.rc中进行mount的,代码目录位于/system/core/rootdir/init.rc其mount最后通过syscall进...原创 2019-04-08 22:43:10 · 1245 阅读 · 0 评论 -
Linux cgroup的整体框架
最近因为项目原因,发现对于cgroup的知识严重匮乏,所以恶补了一下cgroup的相关知识。cgroup指对进程进行分组,然后控制让他们的cpu,io以及memory的使用,和系统的性能息息相关。一、首先是cgroup的整体框架图:以上框图可以看出以下几点:1. cgroup的subsys分为很多种,主要有:acct:进行CPU资源的统计cpuset:主要用来色值进程跑...原创 2019-04-08 18:39:11 · 1626 阅读 · 0 评论 -
cgroup之 memory cgroup(一)
如前文所述,memcg的整体框架如下:对于memcg,作为一个cgroup的subsystem,它遵循hierarchy的所有规则,另外,对于hierarchy中cgroup的层级对memcg管理规则的影响,主要分两方面:1、 如果不启用hierarchy,即mem_cgroup->use_hierarchy =false,则所有的memcg之间都是互相独立,互不影响的,即使是父...原创 2019-04-09 15:36:42 · 2989 阅读 · 0 评论 -
cgroup之memory cgroup(二)
memory cgroup起作用主要是限制各个进程使用内存大小,当其值超越限制值时会发生oom,讲当前进程清理掉。memcg oom的主要运行流程如下:首先进程在申请内存时会进行try_charge操作,此时会进行oom检测,如果是oom,则会把当前的memcg赋值给进程的memcg_in_oom成员,然后在缺页中断中会对当前进程是否存在oom进行判断,如果是,则发送oom events事...原创 2019-04-09 17:05:53 · 3756 阅读 · 3 评论