cgroup
文章平均质量分 92
马学
这个作者很懒,什么都没留下…
展开
-
cgroup devices 子系统分析
一. devices子系统总体结构cgroup devices子系统通过为每个cgroup维护一个设备访问权限链表管理和控制cgroup中进程对设备文件读写访问和设备文件节点创建。从功能角度分析,devices子系统主要分为三个部分:子系统初始化接口、子系统文件接口和子系统访问控制接口。子系统初始化接口在cgroup初始化各个子系统时被调用,功能是继承或者创建一个设备访问权限链表,标识cg...原创 2018-07-11 14:58:24 · 2560 阅读 · 1 评论 -
cgroup-blkio子系统分析
1 概述Cgroup中的blkio子系统的主要功能是实现对磁盘i/o带宽的可定制化控制。目前支持的控制策略只要有两种:BLKIO_POLICY_PROP和BLKIO_POLICY_THROTL,即基于权重方式和基于流量方式。权重方式依赖于内核原生的CFQ i/o调度算法,i/o调度算法本身是工作在i/o调度层的,因此在使用上有一定的局限性,即被控制的设备必须使用cfq调度算法;为了弥补这...原创 2018-07-11 15:10:44 · 6635 阅读 · 0 评论 -
Cgroup分析之cpu、cpuacct
1 组调度1.1 进程调度基础操作系统为了协调多个进程的同时运行,最基本的手段就是给进程设定优先级,如果有多个进程处于可执行状态,那么优先级高的进程先被调度执行。Linux内核将进程分为两种级别,普通进程和实时进程,实时进程的优先级高于普通进程,另外他们的调度策略也不同。实时进程的调度1、如果一个进程是实时进程,只要它是可执行状态的,内核就一直让它执行,以尽可能满足它对cpu的...原创 2018-07-11 15:16:10 · 9465 阅读 · 0 评论 -
Cgroup-memory子系统分析(1)
1 概述1.1 应用背景Cgroup的memory子系统,即memory cgroup(本文以下简称memcg),提供了对系统中一组进程的内存行为的管理,从而对整个系统中对内存有不用需求的进程或应用程序区分管理,实现更有效的资源利用和隔离。在实际业务场景中,为了防止一些应用程序对资源的滥用(可能因为应用本身的bug,如内存泄露),导致对同一主机上其他应用造成影响,我们往往希望可...原创 2018-07-11 15:32:17 · 9510 阅读 · 0 评论 -
Cgroup-memory子系统分析(2)
1.1 Oom1.1.1 简介Oom的全称是out-of-memory,是内核在处理系统内存不足而又回收无果的情况下采取的一种措施,内核会经过选择杀死一些进程,以释放一些内存,满足当前内存申请的需求。所以oom是一种系统行为,对应到memcg的oom,其原理和动机跟全局oom是一样的,区别只在于对象的不同,全局oom的对象是整个系统中所有进程,而memcg oom只针对memc...原创 2018-07-11 15:36:38 · 3035 阅读 · 0 评论 -
cgroup-net_cls子系统分析
1 Net_cls1.1 原理net_cls子系统是用来控制进程使用网络资源的,它并不直接控制网络读写,而是给网络包打上一个标记,具体的网络包控制由tc机制来处理。net_cls实现的基本的思想就是将控制组和内核现有的网络包分类和调度的机制相关联。net_cls通过给控制组分配一个类标识符(classid)来指定该控制组的数据包将被分到哪个traffic class(net_...原创 2018-07-11 15:38:12 · 5602 阅读 · 2 评论 -
Cgroup变化分析(2.6.34~3.10)
Cgroup变化分析 1 子系统2.6.34 3.10 说明 Cpuset Cpuset Ns 挂载ns cgroup后,可以在创建新命名空间时自...原创 2018-07-11 15:39:18 · 664 阅读 · 0 评论