進程優(yōu)先級
進程cpu資源分配就是指進程的優(yōu)先權(quán)(priority)。優(yōu)先權(quán)高的進程有優(yōu)先執(zhí)行權(quán)利。
權(quán)限與優(yōu)先級。權(quán)限(privilege)是指在多用戶計算機系統(tǒng)的管理中,某個特定的用戶具有特定的系統(tǒng)資源使用權(quán)力,像是文件夾,特定系統(tǒng)指令的使用或存儲量的限制。權(quán)限是有或沒有的問題,而優(yōu)先級則是在已經(jīng)具有了權(quán)限而討論權(quán)限大小的問題。配置進程優(yōu)先權(quán)對多任務(wù)環(huán)境的linux很有用,可以改善系統(tǒng)性能。還可以把進程運行到指定的CPU上,這樣一來,把不重要的進程安排到某個CPU,可以大大改善系統(tǒng)整體性能。
查看系統(tǒng)進程
注意到其中幾個很重要的信息,PID(進程的代號)和PPID(父進程的代號)在前面的進程標識符里已經(jīng)說過。UID代表執(zhí)行者的身份。什么意思吶?比如說為什么持有身份證才可以在銀行辦理業(yè)務(wù),因為身份證證明了你是中國合法公民,擁有合法權(quán)限,你以中國合法公民的身份在柜臺辦理業(yè)務(wù);再比如學生可以在學校里上課、使用教學設(shè)施等等,那是他經(jīng)過一定的手續(xù)成為本校的學生,他是以本校學生的身份在學校學習,而老師則以本校教師的身份在學校教書。當我們創(chuàng)建用戶時,由我們?yōu)樾陆ㄓ脩裘驮O(shè)置密碼,同時系統(tǒng)會為我們所創(chuàng)建的用戶名關(guān)聯(lián)一個號,就是所謂的用戶uid,即用戶的身份。通常用戶的身份有普通用戶和超級用戶。進程uid與運行該進程的用戶uid相同。PRI即進程的優(yōu)先級,或者通俗點說就是程序被CPU執(zhí)行的先后順序,此值越小進程的優(yōu)先級別越高,越早被執(zhí)行。NI就是我們所要說的nice值了,其表示進程可被執(zhí)行的優(yōu)先級的修正數(shù)值。如前面所說,PRI值越小越快被執(zhí)行,那么加入nice值后,將會使得PRI變?yōu)椋?strong style=";padding: 0px">PRI(new)=PRI(old)+nice。
由此看出,PR是根據(jù)NICE排序的,規(guī)則是NICE越小PR越前(小,優(yōu)先權(quán)更大),即其優(yōu)先級會變高,則其越快被執(zhí)行。如果NICE相同則進程uid是root的優(yōu)先權(quán)更大。這樣,當nice值為負值的時候,那么該程序?qū)?yōu)先級值將變小,即其優(yōu)先級會變高,則其越快被執(zhí)行。到目前為止,更需要強調(diào)一點的是,進程的nice值不是進程的優(yōu)先級,他們不是一個概念,但是進程nice值會影響到進程的優(yōu)先級變化。如果原來的PRI是50,并不是我們給予一個nice=5,就會讓