linux下調整進程優先級
進程的優先級決定了進程是否優先被cpu分配資源進行處理。
在cpu資源十分充足時,每個正在運行的進程都能分配到足夠的資源進行處理,此時調整進程的優先級是沒有什麼意義的;
如果cpu資源緊張時,top查看cpu使用達到90%以上時,優先級高的進程將被優先分配資源去執行。
如果此時手頭有一個非常緊要的任務要執行,比如傳輸一個非常重要的數據或是准備給客戶發一封非常緊急的郵件,
你希望這些任務優先地被執行完成,那麼就需要調整這些任務的優先級了。
優先級的值=優先系數+nice值
優先系數由系統內核決定,不可更改
nice值可以手動更改,范圍是 -20~19
優先級的值越低,優先級越高;優先級的值越高,優先級越低。
所以想調整成最高優先級的話,就將nice值設為-20;想調整成最低優先級的話,將nice值設為19。
調整優先級:
1、任務未運行前進行調整
# nice -n-20 sh /xxx/xxx.sh --以最高優先級運行xxx.sh這個腳本
# nice -n19 sh /xxx/xxx.sh --以最低優先級運行xxx.sh這個腳本
2、任務已經開始運行的情況下調整
①
# top --查看系統當前進程運行情況
> r --鍵入小r
> PID to renice: --提示輸入運行的進程的pid
> Renice PID 23302 to value: --把這個進程的nice值設置為多少,根據需要進行調整
②
# renice -20 PID 將進程的nice值改為-20
# renice 19 PID 將進程的nice值改為19