使用 nice、cpulimit 和 cgroups 限制 cpu 占用率(3)

sudo cgexec -g cpu:lesscpulimited /usr/local/bin/matho-primes 09999999999>/dev/null&

再打开 top 就可以看到,cpu.shares 值大的控制组会得到更多的 cpu 运行时间。

使用 nice、cpulimit 和 cgroups 限制 cpu 占用率

现在,我们再在 cpulimited 控制组中增加一个 matho-primes 进程:

sudo cgexec -g cpu:cpulimited /usr/local/bin/matho-primes 09999999999>/dev/null&

使用 nice、cpulimit 和 cgroups 限制 cpu 占用率

看到没,两个控制组的 cpu 的占用率比例仍然为2:1。其中,cpulimited 控制组中的两个 matho-primes 进程获得的cpu 时间基本相当,而另一组中的 matho-primes 进程显然获得了更多的运行时间。

更多的使用方法,可以在 Red Hat 上查看详细的 cgroups 使用说明。(当然CentOS 7也有)

使用Scout来监控cpu占用率

监控cpu占用率最为简单的方法是什么?Scout 工具能够监控能够自动监控进程的cpu使用率和内存使用情况。

使用 nice、cpulimit 和 cgroups 限制 cpu 占用率

Scout的触发器(trigger)功能还可以设定 cpu 和内存的使用门限,超出门限时会自动产生报警。

从这里可以获取 Scout 的试用版。

总结

使用 nice、cpulimit 和 cgroups 限制 cpu 占用率

计算机的系统资源是非常宝贵的。上面介绍的这3个工具能够帮助大家有效地管理系统资源,特别是cpu资源:

nice可以一次性调整进程的优先级。

cpulimit在运行cpu密集型任务且要保持系统的响应性时会很有用。

cgroups是资源管理的瑞士军刀,同时在使用上也很灵活。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/16877.html