新聞中心

創(chuàng)新互聯(lián)是一家網(wǎng)站設計公司,集創(chuàng)意、互聯(lián)網(wǎng)應用、軟件技術為一體的創(chuàng)意網(wǎng)站建設服務商,主營產(chǎn)品:響應式網(wǎng)站設計、品牌網(wǎng)站設計、營銷型網(wǎng)站建設。我們專注企業(yè)品牌在網(wǎng)站中的整體樹立,網(wǎng)絡互動的體驗,以及在手機等移動端的優(yōu)質呈現(xiàn)。網(wǎng)站設計制作、成都做網(wǎng)站、移動互聯(lián)產(chǎn)品、網(wǎng)絡運營、VI設計、云產(chǎn)品.運維為核心業(yè)務。為用戶提供一站式解決方案,我們深知市場的競爭激烈,認真對待每位客戶,為客戶提供賞析悅目的作品,網(wǎng)站的價值服務。
另外,CPU 在運算數(shù)據(jù)時,不是把一個集成算完成,再進行下一個進程的運算,而是先運算進程 1,再運算進程 2,接下來運算進程 3,然后再運算進程 1,直到進程任務結束。不僅如此,由于進程優(yōu)先級的存在,進程并不是依次運算的,而是哪個進程的優(yōu)先級高,哪個進程會在一次運算循環(huán)中被更多次地運算。
這樣說很難理解,我們換一種說法。假設我現(xiàn)在有 4 個孩子(進程)需要喂飯(運算),我更喜歡孩子 1(進程 1 優(yōu)先級更高),孩子 2、孩子 3 和孩子 4 一視同仁(進程 2、進程 3 和進程 4 的優(yōu)先級一致)?,F(xiàn)在我開始喂飯了,我不能先把孩子 1 喂飽,再喂其他的孩子,而是需要循環(huán)喂飯(CPU 運算時所有進程循環(huán)運算)。那么,我在喂飯時(運算),會先喂孩子 1 一口飯,然后再去喂其他孩子。而且在一次循環(huán)中,先喂孩子 1 兩口飯,因為我更喜歡孩子 1(優(yōu)先級高),而喂其他的孩子一口飯。這樣,孩子 1 會先吃飽(進程 1 運算得更快),因為我更喜歡孩子 1。
在 Linux 系統(tǒng)中,表示進程優(yōu)先級的有兩個參數(shù):Priority 和 Nice。還記得 "ps -le" 命令嗎?
[root@localhost ~]# ps -le F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 S 0 1 0 0 80 0 - 718 - ? 00:00:01 init 1 S 0 2 0 0 80 0 - 0 - ? 00:00:00 kthreadd ...省略部分輸出...
其中,PRI 代表 Priority,NI 代表 Nice。這兩個值都表示優(yōu)先級,數(shù)值越小代表該進程越優(yōu)先被 CPU 處理。不過,PRI值是由內核動態(tài)調整的,用戶不能直接修改。所以我們只能通過修改 NI 值來影響 PRI 值,間接地調整進程優(yōu)先級。
PRI 和 NI 的關系如下:
PRI (最終值) = PRI (原始值) + NI
其實,大家只需要記得,我們修改 NI 的值就可以改變進程的優(yōu)先級即可。NI 值越小,進程的 PRI 就會降低,該進程就越優(yōu)先被 CPU 處理;反之,NI 值越大,進程的 PRI 值就會増加,該進程就越靠后被 CPU 處理。
修改 NI 值時有幾個注意事項:
- NI 范圍是 -20~19。
- 普通用戶調整 NI 值的范圍是 0~19,而且只能調整自己的進程。
- 普通用戶只能調高 NI 值,而不能降低。如原本 NI 值為 0,則只能調整為大于 0。
- 只有 root 用戶才能設定進程 NI 值為負值,而且可以調整任何用戶的進程。
分享名稱:Linux進程優(yōu)先級
網(wǎng)頁路徑:http://www.5511xx.com/article/djohiee.html


咨詢
建站咨詢
