進程cpu資源分配就是指進程的優先權(priority)。優先權高的進程有優先執行權利。配置進程優先權對多任務環境的Linux很有用,可以改善系統性能。還可以把進程運行到指定的CPU上,這樣一來,把不重要的進程安排到某個CPU,可以大大改善系統整體性能。
1. 查詢進程優先級
[root@dbbak root]# ps –l --- 這里用的是linux測試
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 20538 20534 0 75 0 - 1063 wait4 pts/2 00:00:00 bash
4 R 0 20663 20538 0 75 0 - 828 - pts/2 00:00:00 ps
我們很容易注意到其中的幾個重要信息,有下:
UID : 代表執行者的身份
PID : 代表這個進程的代號
PPID :代表這個進程是由哪個進程發展衍生而來的,亦即父進程的代號
PRI :代表這個進程可被執行的優先級,其值越小越早被執行
NI :代表這個進程的nice值
這里的前面的三個信息,我們都是比較好容易理解的,但是后面的兩個奇怪的信息,一個是PRI,一個是NI,這到底是什么東西?相對而言,PRI也還是比較好理解的,即進程的優先級,或者通俗點說就是程序被CPU執行的先后順序,此值越小進程的優先級別越高。那NI呢?就是我們所要說的nice值了,其表示進程可被執行的優先級的修正數值。如前面所說,PRI值越小越快被執行,那么加入nice值后,將會使得PRI變為:PRI(new)=PRI(old)+nice。這樣,當nice值為負值的時候,那么該程序將會優先級值將變小,即其優先級會變高,則其越快被執行。
到目前為止,更需要強調一點的是,進程的nice值不是進程的優先級,他們不是一個概念,但是進程nice值會影響到進程的優先級變化。
通過 ps -l -p pid 可以查詢指定進程的相關信息。
2. 修改進程優先級
參考鏈接:
1. http://blog.csdn.net/codestinity/article/details/7496962