CPU參數指標說明


%user
  %user表示CPU一共花了多少比例的時間運行在用戶態空間或者說是用戶進程(running user space processes)
  典型的用戶態空間程序有:Shells、數據庫、web服務器……


%nice
  %nice表示改變過優先級的進程所占用CPU的百分比

  當使用top或者ps命令查看系統進程信息時,輸出結果中會有PRI/PR、NI、%ni/%nice這三種指標值,具體含義如下:

    PRI: 進程優先權,表示該進程可被執行的優先級,值越小,優先級越高
    NI: 進程Nice值,代表該進程優先值,表示該進程可被執行的優先級的修正數值,范圍為[-20,19](不同系統的值范圍是不一樣的)
      值為0則表示不會調整該進程的優先級

  進程的PRI值越小,則該線程就會越快被執行,但優先級並非固定不變的,
  每個進程在其計划執行時,都會被賦予一個nice值,這樣系統就可以根據資源消耗情況,主動干預進程的優先級值
  通過nice值調整,即PRI(new)=PRI(old)+nice,這樣PRI(new)值會根據nice值的大小而不斷變化

  nice值越大(最大值19),則新的PRI值也會增大,該進程的優先級會降低
  nice值越小(最小值-20),則新的PRI值也會減小,該進程的優先級會提高
  如果nice值相同,則進程uid是root的優先權更大
  在通常情況下,子進程會繼承父進程的nice值,比如在系統啟動的過程中,init進程會被賦予0,其他所有進程繼承了這個nice值(因為其他進程都是init的子進程)

  具有最高優先級的程序,其nice值最低,所以在LINUX系統中,值-20使得一項任務變得非常重要
  與之相反,如果任務的nice為+19,則表示它是一個高尚的、無私的任務,允許所有其他任務比自己享有寶貴的CPU時間的更大使用份額
  這也就是nice的名稱的來意

  對nice值一個形象比喻,假設在一個CPU輪轉中,有2個runnable的進程A和B,如果他們的nice值都為0,假設內核會給他們每人分配1k個cpu時間片
  但是假設進程A的為0,但是B的值為-10,那么此時CPU可能分別給A和B分配1k和1.5k的時間片
  故可以形象的理解為,nice的值影響了內核分配給進程的cpu時間片的多少,時間片越多的進程,其優先級越高,其優先級值(PRI)越低
  %nice,就是改變過優先級的進程的占用CPU的百分比,如上例中就是0.5k/2.5k=1/5=20%

  由此可見,進程nice值和進程優先級不是一個概念,但是進程nice值會影響到進程的優先級變化


%system
  與%user相似,%system表示CPU花了多少比例的時間在內核空間運行
  分配內存、IO操作、創建子進程……都是內核操作。這也表明,當IO操作頻繁時,System參數會很高


%iowait
  在計算機中,讀寫磁盤的操作遠比CPU運行的速度要慢,CPU負載處理數據,而數據一般在磁盤上需要讀到內存中才能處理
  當CPU發起讀寫操作后,需要等着磁盤驅動器將數據讀入內存,從而導致CPU在等待的這一段時間內無事可做
  CPU處於這種等待狀態的時間由Wait參數來衡量

%idle
  CPU處於空閑狀態時間比例
  一般而言,%idel + %user + %nice 約等於100%


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM