cpulimit命令:
cpulimit 命令的工作原理是为进程预设一个 cpu 占用率门限,并实时监控进程是否超出此门限,若超出则让该进程暂停运行一段时间。cpulimit 使用 SIGSTOP 和 SIGCONT 这两个信号来控制进程。它不会修改进程的 nice 值,而是通过监控进程的 cpu 占用率来做出动态调整。
#限制应用程序 xxx.bin 的cpu使用率不超过 10%
cpulimit -l 10 xxx.bin
#限制进程PID为1000程序的cpu使用率不超过20%
cpulimit -l 20 -p 1000
nice命令:
nice命令可以修改进程的优先级,这样就可以让进程运行得不那么频繁。 nice值的取值范围是[-20,19],-20表示最高优先级,而19表示最低优先级。Linux进程的默认nice值为0。使用nice命令(不带任何参数时)可以将进程的nice值设置为10。
#显示当前集成的优先级,nice命令不带任何参数
nice
#调整进程的优先级, 将xxx.bin进程优先级调整为0+10(10为调整值,xxx.bin优先级=原优先级+调整值)
nice -n 10 xxx.bin
renice命令:
#调整进程nice值,只有root权限才能提升优先级
renice -n 5 -p 13254
cpulimit 的优势是可以控制进程的cpu使用率的上限值。但与 nice 相比也有缺点,那就是即使 cpu 是空闲的,进程也不能完全使用整个 cpu 资源。
注:单核cpu的使用率范围为0%-100%,四核cpu的使用率范围为0%-400%