系統中執行的每個程序都有乙個優先順序(亦稱「nice 值」),其範圍從 -20 (最高優先順序)到 19 (最低優先順序)。預設情況下,程序的優先順序是 0 (「基本」排程優先順序)。優先順序比較大的程序(nice 值比較小,最低到 -20)相對優先順序比較小的程序(直到 19)將比較頻繁地被排程執行,因此就擁有更多的程序週期。一般使用者只能降低它們自己程序的優先級別,並限於 0 到 19 之間。超級使用者(root)可以將任何程序的優先順序設定為任何值。
如果某個或某些程序消耗了過多的系統資源,除了終止它們,您還可以更改它們的優先順序。為此,請使用renice命令。其語法為:
renice 優先順序 [[-p] pid ...] [[-g] pgrp ...] [[-u] 使用者名稱 ...]
其中,優先順序是指優先順序的值;pid(對多個程序請使用-p選項)表示程序 id 號;pgrp(如果有多個,請用-g)表示程序組 id 號;而使用者(如果不只乙個,請用-u)表示程序所有者的使用者名稱。
假定您執行了乙個首席執行官時間科**算的程序(其pid為 785),但是您又想要玩乙個遊戲而想要釋放一些系統資源。那麼您可以:
$ renice +15 785
這樣,您的那個程序可能需要花費更長一些時間完成,不過它就不會從其他程序手裡搶走cpu時間片。
如果您是系統管理員,而且您發覺某些使用者執行了過多的程序並消耗了過多的系統資源時,您只需鍵入乙個命令就可以改變這些使用者程序的優先順序:
# renice +20 -u li_si
這樣,li_si 的所有程序都將擁有最低優先順序,因而就不會阻礙其他使用者的程序了。
既然您已經了解可以更改程序的優先順序,您可能需要按照指定的優先順序執行命令。為此,請使用nice命令。
此時,您需要把您要執行的命令作為nice的乙個引數。而其另乙個引數-n可用來設定優先級別。預設情況下nice將設定優先順序為 10。
$ dd if=/dev/cdrom of=~/mdk1.iso
在某些裝配標準ide
cd-rom的系統上,複製大量資訊的程序將消耗過多系統資源。要避免複製操作阻礙其他程序,您可以用如下命令在乙個比較低的優先順序上啟動該程序:
$ nice -n 19 dd if=/dev/cdrom of=~/mdk1.iso
然後就可以繼續工作了。
設定程序的優先順序
系統中執行的每個程序都有乙個優先順序 亦稱 nice 值 其範圍從 20 最高優先順序 到 19 最低優先順序 預設情況下,程序的優先順序是 0 基本 排程優先順序 優先順序比較大的程序 nice 值比較小,最低到 20 相對優先順序比較小的程序 直到 19 將比較頻繁地被排程執行,因此就擁有更多的...
程序優先順序
程序的優先順序可以通過setpriority nice修改優先順序。程序分為普通程序和實時程序。實時程序的優先順序比普通程序的優先順序高。nice的值 20 19值越小優先順序越高。預設為0 不同程序的執行緒優先順序?執行緒會繼承程序的優先順序,核心的排程是執行緒。所以先看程序是普通程序還是實時程序...
程序優先順序
用top或者ps命令會輸出pri pr ni ni nice這三種指標值,這些到底是什麼東西?先給出大概的解釋如下 pri 程序優先權,代表這個程序可被執行的優先順序,其值越小,優先順序就越高,越早被執行 ni 程序nice值,代表這個程序的優先值 nice 改變過優先順序的程序的占用cpu的百分比...