
linux-group
wh8_2011
这个作者很懒,什么都没留下…
展开
-
cgroup: Control Group 分析 转载
这篇文章分析Cgroup不错, 阅读Kernel代码的start_kernel函数到cgroup_init_early时,搜了下,找到了这篇文章,大致看了下,不错,收藏。 ------------------------------------------本文系本站原创,欢迎转载!转载请注明出处:http://ericxiao.cublog.cn/----转载 2016-02-01 09:36:36 · 1084 阅读 · 0 评论 -
LINUX CGROUP 概述
在深入到cgroup的代码分析之前.先来了解一下cgroup中涉及到的几个概念:1:cgroup: 它的全称为control group。即一组进程的行为控制,比如,我们限制进程/bin/sh的CPU使用为20%。我们就可以建一个cpu占用为20%的cgroup。然后将/bin/sh进程添加到这个cgroup中。当然,一个cgroup可以有多个进程。2:subsystem: 它类似原创 2016-10-01 08:46:05 · 642 阅读 · 0 评论 -
Linux系统中cgroup功能介绍
1 Cgroups简介1.1 What are cgroups ?Cgroups(控制组)是Linux内核的一个功能,用来限制、统计和分离一个进程组的资源(CPU、内存、磁盘输入输出等)。换句话说就是,如果一个进程加入了某一个控制组,该控制组对Linux的系统资源都有严格的限制,进程在使用这些资源时,不能超过其最大的限制数,例如:memory资源,如果加入控制组的进程使用的mem转载 2016-09-30 14:57:19 · 12946 阅读 · 0 评论 -
图解cgroup架构中cgroup与css之间的多对多的关系
这就是经典的cgroup与css之间的多对多关系,它们之间的联系依靠cg_group_link对象组织在一起,每一个css与cgroup的配对都会有一个cg_cgroup_link对象。转载 2016-02-03 09:26:33 · 1074 阅读 · 0 评论 -
cgroup学习(八)——CPUSET子系统
对于CPUSET子系统我们主要解释对cpuset.cpus的操作。Read操作根据《cgroup学习(三)——伪文件》可以很容易的跟踪到代码,并解读,所以我们这里就不赘述,直接解释write及attach操作。首先我们看一下write操作的bt(使用systemtap见《使用systemtap获得内核函数的局部变量》):[html] view plain copy转载 2016-02-03 09:21:11 · 1556 阅读 · 0 评论 -
cgroup学习(七)——cpu子系统
CPU子系统 对于CPU子系统最常见的参数就是cpu.shares,我们来通过《cgroup学习(三)——伪文件》的表格来跟踪一下对该参数的读写操作。 通过systemtap我们可以看到读的bt:(cat cpu.shares)[html] view plain copy2327 (cat) cpu_share转载 2016-02-03 09:20:26 · 914 阅读 · 0 评论 -
cgroup学习(六)——attach task
attach task 该过程对应于我们上面的实例操作的:echo 512 > tasks的过程,其实质就是先对cgroup下tasks文件进行写操作,建立该进程新的css_set与所有管理它的cgroup的关系;然后再根据各个子系统自己的attach函数进行attach操作。在这里我们先介绍第一个过程,第二个过程在各个子系统中介绍。先看一下bt:[html]转载 2016-02-03 09:19:50 · 1041 阅读 · 0 评论 -
cgroup学习(五)—— create new cgroup
create new cgroup 该过程就是mkdir/cgroup/cpu/test_cpu:在一个/cgroup/cpu hierarchy上创建一个cgroup,下面的bt是创建一个cpu hierarchy下的cgroup:[html] view plain copymkdir /cgroup/cpu/test_c转载 2016-02-03 09:19:14 · 591 阅读 · 0 评论 -
cgroup学习(四)——mount hierarchy
mount hierarchy 该过程对应于mount -t cgroup -o cpu,cpuset cpuandset /cgroup 首先它解析mount参数-o ***:parse_cgroupfs_option,创建一个新的cgroupfs_root:cgroup_root_from_opts,通过cgroup_test_super判断新的mou转载 2016-02-03 09:15:13 · 628 阅读 · 0 评论 -
cgroup学习(三)——伪文件
伪文件 cgroup是通过VFS与上层进行交互的,它定义了自己的cgroup文件系统,同时也定义了哪些文件,这些文件也是最终影响着cgroup行为,这一节我们介绍一下,每个子系统的伪文件定义在哪里?以及内核如何去操作这些伪文件。下面我们通过一张表来展示这些关系:SubsysFilesTo_csslocat转载 2016-02-03 09:14:37 · 516 阅读 · 0 评论 -
cgroup的学习(一)——what cgroup?
本序列文章将介绍cgroup概念,cgroup框架,cgroup的子系统 What Cgroup? Control Groups provide a mechanism foraggregating/partitioning sets of tasks, and all their future children, intohierarchical groups转载 2016-02-03 09:13:57 · 670 阅读 · 0 评论 -
cgroup学习(二)——cgroup框架结构
cgroup框架结构这一章里,我们先整体介绍一个cgroup的框架结构,以及cgroup文件系统的相应文件定义。这里我们先看一下cgroup的主要结构关系: 图2 主要数据结构关系该图包含了cgroup的所有主要数据结构及它们的关系。其中cgroupfs_root相当于我们mount操作指定的dir;cgroup表示在mount目录下的mkdir cg_test转载 2016-02-03 09:13:20 · 660 阅读 · 0 评论 -
Linux Cgroups详解(一)
Cgroups是什么?Cgroups是control groups的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:cpu,memory,IO等等)的机制。最初由google的工程师提出,后来被整合进Linux内核。Cgroups也是LXC为实现虚拟化所使用的资源管理手段,可以说没有cgroups就没有LXC。Cgroup转载 2016-02-01 23:19:52 · 1116 阅读 · 0 评论 -
Linux Cgroups详解(二)
cgroups 数据结构设计我们从进程出发来剖析cgroups相关数据结构之间的关系。在Linux中,管理进程的数据结构是task_struct,其中与cgroups有关的:#ifdef CONFIG_CGROUPS /* Control Group info protected by css_set_lock */ struct css_set *cgroups;转载 2016-02-01 23:19:09 · 1178 阅读 · 0 评论 -
Linux CGROUP 数据结构
/* * A cgroupfs_root represents the root of a cgroup hierarchy, * and may be associated with a superblock to form an active * hierarchy */struct cgroupfs_root {struct super_block *sb;原创 2016-10-01 11:07:34 · 584 阅读 · 0 评论