cpu的性能指標(biāo)主要包括cpu使用率,系統(tǒng)平均負載,進程上下文切換和cpu緩存命中率。下面分別來介紹具體指標(biāo)的含義和相應(yīng)的觀測工具。
- cpu使用率
cpu使用率根據(jù)cpu上運行任務(wù)的不同,又被分為下面幾類。ps 下文小括號中的英文用來代表觀測工具中的該項指標(biāo),不同觀測工具會略有不同。下面給出的是完整形式和可能的縮寫。
1)用戶cpu使用率:包括用戶態(tài)cpu使用率(user)和低優(yōu)先級用戶態(tài)cpu使用率(nice)。表示 CPU 在用戶態(tài)運行的時間百分比。用戶態(tài)cpu使用率高,說明有應(yīng)用程序比較繁忙。
2)系統(tǒng)cpu使用率:表示cpu在內(nèi)核態(tài)運行的時間百分比(sys)(不包括中斷)。系統(tǒng)cpu使用率高,說明內(nèi)核比較繁忙。
3)等待I/O的cpu使用率:表示cpu等待I/O時間百分比(iowait)。等待I/O的cpu使用率高,說明系統(tǒng)和硬件設(shè)備的I/O交互時間比較長。
4)軟中斷和硬中斷cpu使用率:分別表示cpu運行軟中斷(software interrupts 縮寫si),硬中斷(hardware interrupts 縮寫hi)處理程序的時間百分比。軟中斷硬中斷使用率高,通常說明系統(tǒng)發(fā)生了大量的中斷。
5)和虛擬化相關(guān)的cpu使用率:竊取cpu使用率(steal)和 客戶cpu使用率(guest), 分別表示被其他虛擬機占用的cpu時間百分比和運行客戶虛擬機cpu時間百分比。(#)
常用的cpu使用率的觀測工具有
1) top 全面的觀測工具,包含cpu使用率的指標(biāo)
2) htop top的增強版,沒有用過
3) pidstat 進程和線程的cpu使用率,中斷上下文的切換次數(shù)
4)mpstat 每個cpu使用率和軟中斷次數(shù)
5)/proc/softirqs 軟中斷數(shù)據(jù)統(tǒng)計
6)/proc/interrupts 硬中斷數(shù)據(jù)統(tǒng)計
- 系統(tǒng)平均負載
系統(tǒng)平均負載,表示系統(tǒng)平均的活躍進程數(shù)。它反映了系統(tǒng)的整體負載情況。理想情況下,平均負載等于邏輯cpu個數(shù),這表示每個cpu都恰好被充分利用,如果平均負載大于邏輯cpu個數(shù),就表示負載比較重了。
系統(tǒng)平均負載觀測工具:
1)uptime 運行upime 平均負載會出現(xiàn)三個數(shù)值,分別表示最近1分鐘,最近5分鐘,最近15分鐘的平均負載
2)
- 進程上下文切換
進程的上下文切換 包括兩個指標(biāo) 1)無法獲取資源而導(dǎo)致的自愿上下文切換(voluntary context switches cswch) 2)被系統(tǒng)強制調(diào)度導(dǎo)致的非自愿上下文切換 (non voluntary context switches nvcswch)
進程的上下文切換觀測工具:
- vmstat 系統(tǒng)的上下文切換
- pidstat 加上-w 選項 可以查詢進程的上下文切換情況
- cpu緩存命令率
cpu緩存分為L1,L2, L3 三級緩存,L1和L2 常用于單核中,L3則用于多核中。
從 L1到L3,三級緩存的大小依次增大,相應(yīng)的,性能依次降低。Cpu緩存命中率,衡量的是cpu緩存的復(fù)用情況,命中率越高,則表示性能越好。
cpu緩存命令率的觀測工具:暫無