CGroups

目录

1.CGroups介绍

 2.功能

3.CGroup应用案例

1.安装及开启服务

2.限制进程使用CPU

1.查看cpu shares(cpu分片)

2.使用CPU子系统创建两个group分组

3.验证cpu的性能被限制

多核cpu限制性能的方法

 再次运行下死循环脚本并在窗口1查看运行情况


1.CGroups介绍

 2.功能

 为docker作为准备

3.CGroup应用案例

1.安装及开启服务

yum -y install libcgroup
yum -y install libcgroup-tools
systemctl start cgconfig.service
systemctl enable cgconfig.service
systemctl status cgconfig

2.限制进程使用CPU

1.查看cpu shares(cpu分片)

1.查看资源限制子系统
lssubsys

2.查看子系统配置文件所在位置
ls /sys/fs/cgroup/

3.查看CPU时间分片,用于保证分组所得到的CPU分片总量
cat /sys/fs/cgroup/cpu/cpu.shares

2.使用CPU子系统创建两个group分组

vim /etc/cgconfig.conf
group lesscpu{
      cpu{
        cpu.shares=200;
    }
}

group morecpu {
     cpu{
        cpu.shares=800;
    }
}

修改完配置文件需要重启下服务

system restart cgconfig

3.验证cpu的性能被限制

准备一个死循环脚本

vim /tmp/tmpshell.sh
#!/bin/bash 

a=1
while true

do 
    a=$[$a+1]
done

通过三个窗口,第一个是正常窗口,第二个是lesscpu,第三个是morecpu;

第一个窗口

top

使用top命令查看当前进程

第二个窗口

cgexec -g cpu:morecpu bash /tmp/tmpshell.sh

第三个窗口

cgexec -g cpu:lesscpu bash /tmp/tmpshell.sh

三个窗口都运行相应代码后,如下 

 此时,%cpu还是接近100%的

原因:这台主机是多核cpu

多核cpu限制性能的方法

通过命令查看硬件信息,发现有两个cpu 

echo 0 > /sys/devices/system/cpu/cpu0/online
让cpu0停止工作
echo 1 > /sys/devices/system/cpu/cpu0/online
让cpu0工作
echo 1 > /sys/devices/system/cpu/cpu1/online
让cpu1工作


online为1工作,online为0不工作

 多核cpu就关闭多余的cpu,留一个工作即可

对比下关闭前后的cpu信息

关闭前:cpu0,cpu1都在工作 

关闭cpu0后:只剩下cpu1

 再次运行下死循环脚本并在窗口1查看运行情况

 分别保持在 80%和20%

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jjj34

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值