安装
安装
yum -y install libcgroup-tools.x86_64
yum -y install numactl
numactl是用来看cpu的numa内存的
启动
systemctl status cgconfig.service
systemctl start cgconfig.service
启动后的默认挂载位置:
[root@c2 cgroup]# lssubsys -am
cpuset /sys/fs/cgroup/cpuset
cpu,cpuacct /sys/fs/cgroup/cpu,cpuacct
memory /sys/fs/cgroup/memory
devices /sys/fs/cgroup/devices
freezer /sys/fs/cgroup/freezer
net_cls /sys/fs/cgroup/net_cls
blkio /sys/fs/cgroup/blkio
perf_event /sys/fs/cgroup/perf_event
hugetlb /sys/fs/cgroup/hugetlb
如果想要修改,需要umount掉,之后在/etc/cgconfig.conf
里修改
基础操作
systemctl enable cgconfig.service
配置cgroup开机启动
服务器开机后,会将cgroup挂载到/sys/fs/cgroup
下,但是用echo 3 > /xxx/tasks
这种方式一直报错,所以建议切换到自己的目录,网上资料常见的是推荐到/cgroup
下
服务器开机后,执行cgclear
会清除掉默认的所有挂载
修改/etc/cgconfig.conf
,加入如下内容
mount {
cpuset = /cgroup/cpuset;
cpu = /cgroup/cpu;
cpuacct = /cgroup/cpuacct;
memory = /cgroup/memory;
devices = /cgroup/devices;
blkio = /cgroup/blkio;
}
执行cgconfigparser -l /etc/cgconfig.conf
可以让cgroup安装配置文件内的目录进行挂载,而之后也能使用echo 3 > /xxx/tasks
ps:重启服务器,会发现还是默认挂载到/sys/fs/cgroup
,所以上述操作最好写到开机启动里面
建议多使用cgset
和cgget
,而不要偷懒使用echo
那种更改配置的方式,因为有的时候会报错无法执行成功。譬如cpuset.cpus和cpuset.mems
基础命令
cgclassify -- cgclassify命令是用来将运行的任务移动到一个或者多个cgroup。
cgclear -- cgclear 命令是用来删除层级中的所有cgroup。
cgconfig.conf -- 在cgconfig.conf文件中定义cgroup。
cgconfigparser -- cgconfigparser命令解析cgconfig.conf文件和并挂载层级。
cgcreate -- cgcreate在层级中创建新cgroup。
cgdelete -- cgdelete命令删除指定的cgroup。
cgexec -- cgexec命令在指定的cgroup中运行任务。
cgget -- cgget命令显示cgroup参数。
cgred.conf -- cgred.