cgroup子系统
nerdX
这个作者很懒,什么都没留下…
展开
-
cgroup子系统1_cpu子系统
cpu子系统用于控制cgroup中所有进程可以使用的cpu时间片,通过组调度(将task_group作为调度实体)来实现。 参考博客: 1.cpu子系统 2.Linux内核之CFS调度和组调度原创 2014-08-12 19:39:33 · 1089 阅读 · 0 评论 -
cgroup子系统5_cpuset子系统
cpuset子系统为cgroup中的任务分配独立CPU(在多核系统)和内存节点。cpuset_cgroup的cpus_allowed和mems_allowed定义 了该cpuset包含的cpu和内存节点,其中进程的task_struct->cpus_allowed与进程所属cpuset的cpus_allowed保持一致,在进程分配 物理页框时(alloc_pages系函数),通过cpuset_原创 2014-08-13 17:05:26 · 1540 阅读 · 0 评论 -
cgroup子系统3_freezer子系统
freezer子系统用于挂起和恢复cgroup中的进程。freezer有一个控制文件:freezer.state,将FROZEN写入该文件,可以将cgroup中的进程挂起,将THAWED写入该文件, 可以将已挂起的进程恢复。通过遍历cgroup中的进程,对其freeze或者wake_up。freeze操作通过freeze框架实现,设置进程的TIF_SIGPENDING函数(伪信号),唤醒进程,原创 2014-08-12 20:43:50 · 2424 阅读 · 0 评论 -
cgroup子系统4_memory子系统
memory子系统设定cgroup中任务使用的内存限制,并自动生成那些任务使用的内存资源报告。memory子系统是通过 linux的resource counter机制实现的,在进程进行内存分配、释放时对进程进行charge、uncharge操作。 charge操作进行点: 1.分配新页框时(请求调页、copy on write),在do_falut,do_anonymous_pag原创 2014-08-13 15:56:08 · 1757 阅读 · 0 评论 -
cgroup子系统2_devices子系统
devices子系统用于控制cgroup中所有进程可以访问哪些设备,通过维护黑白名单,然后在inode_permission入口点, 通过devcgroup_inode_permission函数检查进程是否可以访问该设备。 参考博客: 1.devices子系统原创 2014-08-12 20:16:31 · 2020 阅读 · 1 评论 -
网络子系统87_veth实现
//使用veth //1.创建两块虚拟网卡veth1、veth2,然后点对点连接,此后两块网卡的数据会互相发送到对方 $ ip link add veth1 type veth peer name veth2 //2.创建网络命名空间t1 $ ip netns add t1 //3.将veth0加入t1,此时veth0便看不到了,因为被加入到其他命名空间中了 $ ip link set vet原创 2014-08-14 17:59:28 · 5380 阅读 · 0 评论