Linux下Cgroup的CPU使用率限制机制的测试
创建脚本test.sh
该文件如下所示,该shell脚本是一个死循环,默认情况下会使得cpu资源消耗在100%%。
在/sys/fs/cgroup/cpu下创建新的cpu子控制群组test_cpu。
设置组群参数,cpu.cfs_quota_us 和 cpu.cfs_period_us 是控制 cpu 的两个属性,可以通过设置它们的比值来设置某个组群的 cpu 使用率。在此,我们将 cpu 的使用率限制到 50%%。
测试结果对比:
直接运行test.sh,并用top命令查出cpu的使用率为100%%。
通过cgexec命令把进程限制到cgroup中,使得其只能使用50%%的资源。
上述实现证明了cgroup 可以很方便的限制住进程 cpu 资源的使用率;事实上,同样可以很容易限制内存、io等资源的使用。
参考文献:
https://zhuanlan.zhihu.com/p/81668069
https://tech.meituan.com/2015/03/31/cgroups.html
https://www.sohu.com/a/252263523_609423
推荐阅读