Skip to content

在CentOS 6.5 使用 Cgroup

Published: at 00:00
说明
只是记录cgroup在centos 6.5的简单使用。
相关的介绍和命令的使用自行在网上查阅。
安装
yum install libcgroup -y
服务
默认没有启cgconfig服务,可以用 service cgconfig status 看到.
启动cgconfig服务, 使用: service cgconfig start
启动服务时,默认加载的配置文件是 /etc/cgconfig.conf

配置文件默认内容:
mount {
    cpuset  = /cgroup/cpuset;
    cpu     = /cgroup/cpu;
    cpuacct = /cgroup/cpuacct;
    memory  = /cgroup/memory;
    devices = /cgroup/devices;
    freezer = /cgroup/freezer;
    net_cls = /cgroup/net_cls;
    blkio   = /cgroup/blkio;
}

默认会挂载所有的controller

如果使用cgconfig服务,当这个服务器停掉会删除它挂载的所有东西。

可以使用cgsnapshot 生成快照:
cgsnapshot -s > /etc/cgconfig.conf
挂载 cgroup 文件系统
mount -t cgroup cgroup /cgroup

可以使用 -o 指定 子系统, 比如使用 cpu 子系统:
mount -t cgroup -o cpu cpu /cgroup

重新挂载 指定 remount
mount -t cgroup -o remount cgroup /cgroup
只有在没有下层层级的情况下才能 remount

卸载test层级,使用umount就行:
umount /cgroup/test
列出所有的子系统
lssubsys -am
列出所有的group
lscgroup
CPU
内存
网络
mkdir /cgroup/net_cls/test
echo 0x100001 > /cgroup/net_cls/test/net_cls.classid

然后使用 tc 或 iptables 对 0x100001 做网络限制
tc只能对流出的流量(上传)做限制

参考: http://lxr.free-electrons.com/source/Documentation/cgroups/net_cls.txt
磁盘