资源隔离-cgroup

安装

安装

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,所以上述操作最好写到开机启动里面
建议多使用cgsetcgget,而不要偷懒使用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.
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值