Linux CFS进程组带宽控制

 

1. linux CFS带宽控制_cgroups控制进程cpu配额

CFS带宽控制是一个CONFIG_FAIR_GROUP_SCHED扩展,它允许指定一个组或层次的最大CPU带宽。

一个组允许的带宽是用配额和周期指定的。在每个给定的”周期“(微秒)内,一个任务组被分配多
达“配额”微秒的CPU时间。当cgroup中的线程可运行时,该配额以时间片段的方式被分配到每个cpu
运行队列中。一旦所有的配额被分配,任何额外的配额请求将导致这些线程被限流。被限流的线程将不
能再次运行,直到下一个时期的配额得到补充。

1.1 查看系统的配额

root@mouse:/sys/fs/cgroup/cpu# cat cpu.cfs_period_us
100000

表示将cpu时间片分成100000份。

root@mouse:/sys/fs/cgroup/cpu# cd /sys/fs/cgroup/cpu
root@mouse:/sys/fs/cgroup/cpu# cat cpu.cfs_quota_us
-1
root@mouse:/sys/fs/cgroup/cpu#

cpu.cfs_quota_us的值为-1表示该组没有任何带宽限制,这样的组被描述为无限制的带宽组。

1.2 实践手动配额

  1. 编写一个c文件,让该进程一直暂用cpu。
root@mouse:~# cat 1.c
int main(void)
{

        while (1)
        {

        }
return 0;
}
root@mouse:~# gcc 1.c
root@mouse:~# ./a.out

  1. 查看该进程cpu占用率3在这里插入图片描述
    该a.out 执行程序进程ID:1316暂用cpu高达90%以上。
  2. cpu 配额
root@mouse:/sys/fs/cgroup/cpu#  cd /sys/fs/cgroup/cpu
root@mouse:/sys/fs/cgroup/cpu# mkdir stream
root@mouse:/sys/fs/cgroup/cpu# cd stream/
root@mouse:/sys/fs/cgroup/cpu/stream# ls
cgroup.clone_children  cpuacct.usage_percpu_sys   cpu.shares
cgroup.procs           cpuacct.usage_percpu_user  cpu.stat
cpuacct.stat           cpuacct.usage_sys          cpu.uclamp.max
cpuacct.usage          cpuacct.usage_user         cpu.uclamp.min
cpuacct.usage_all      cpu.cfs_period_us          notify_on_release
cpuacct.usage_percpu   cpu.cfs_quota_us           tasks
root@mouse:/sys/fs/cgroup/cpu/stream#

  1. 将5000写入cpu.cfs_quota_us,表示希望CPU占用率控制在(5000/100000=5%)以内
root@mouse:/sys/fs/cgroup/cpu/stream#  echo 5000 > cpu.cfs_quota_us
root@mouse:/sys/fs/cgroup/cpu/stream# echo 1316 >> tasks
  1. 再次查看该进程CPU使用率
    在这里插入图片描述
    可以看到该进程的cpu使用率为5%

这好神奇 😕

2. 总结

  • cpu配额,控制cpu对进程时间分配。



进入linux大门可以看这个视屏:https://ke.qq.com/course/4032547?flowToken=1042701
学习还是得靠自己。❤️


2.1 技术参考

参考链接1:使用cgroups控制进程cpu配额

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值