1. 程式人生 > >Linux對CPU使用率和優先順序的設定

Linux對CPU使用率和優先順序的設定

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%