Linux系统限制某程序cpu使用率


0,让mono程序放飞自我的时候CPU的状态

Snipaste_2019-12-13_19-40-43.png

1,安装cpulimit命令进行控制

1
2
3
4
git clone https://github.com/opsengine/cpulimit.git
cd cpulimit
make
cp -a src/cpulimit /usr/bin

2,cpulimit命令的参数

1
2
3
4
5
6
-l   0~200 限定CPU占据率0%~200%
-v 显现控制的统计信息
-z 当被控制的程式退出的时候,CPULimit程式也跟着退出
-i 同时限定被控程式的子进程
-p 被控程式的PID
-e 被控程式的程式称号

3,cpulimit命令的使用(控制好限制的程度,不要影响到其正常运行!)

1
2
[root@test-backup ~]# cpulimit -p 7117 -l 5
Process 7117 found

Snipaste_2019-12-13_19-51-12.png
可以看到该程序的cpu已经老老实实按照设置降下来了!

4,自动将cpu占用率超过50%的程序进行限制

1
2
3
[root@test-backup ~]# cpulimit -p $(ps -aux |awk '{if($3>=50) print $2}') -l 10 &
[1] 10156
[root@test-backup ~]# Process 7117 found