cpu的性能指標(biāo)主要包括cpu使用率隧出,系統(tǒng)平均負(fù)載娇唯,進(jìn)程上下文切換和cpu緩存命中率压真。下面分別來(lái)介紹具體指標(biāo)的含義和相應(yīng)的觀測(cè)工具德谅。
- cpu使用率
cpu使用率根據(jù)cpu上運(yùn)行任務(wù)的不同故硅,又被分為下面幾類(lèi)庶灿。ps 下文小括號(hào)中的英文用來(lái)代表觀測(cè)工具中的該項(xiàng)指標(biāo),不同觀測(cè)工具會(huì)略有不同吃衅。下面給出的是完整形式和可能的縮寫(xiě)往踢。
1)用戶(hù)cpu使用率:包括用戶(hù)態(tài)cpu使用率(user)和低優(yōu)先級(jí)用戶(hù)態(tài)cpu使用率(nice)。表示 CPU 在用戶(hù)態(tài)運(yùn)行的時(shí)間百分比徘层。用戶(hù)態(tài)cpu使用率高峻呕,說(shuō)明有應(yīng)用程序比較繁忙。
2)系統(tǒng)cpu使用率:表示cpu在內(nèi)核態(tài)運(yùn)行的時(shí)間百分比(sys)(不包括中斷)趣效。系統(tǒng)cpu使用率高瘦癌,說(shuō)明內(nèi)核比較繁忙。
3)等待I/O的cpu使用率:表示cpu等待I/O時(shí)間百分比(iowait)跷敬。等待I/O的cpu使用率高讯私,說(shuō)明系統(tǒng)和硬件設(shè)備的I/O交互時(shí)間比較長(zhǎng)。
4)軟中斷和硬中斷cpu使用率:分別表示cpu運(yùn)行軟中斷(software interrupts 縮寫(xiě)si)西傀,硬中斷(hardware interrupts 縮寫(xiě)hi)處理程序的時(shí)間百分比斤寇。軟中斷硬中斷使用率高,通常說(shuō)明系統(tǒng)發(fā)生了大量的中斷拥褂。
5)和虛擬化相關(guān)的cpu使用率:竊取cpu使用率(steal)和 客戶(hù)cpu使用率(guest), 分別表示被其他虛擬機(jī)占用的cpu時(shí)間百分比和運(yùn)行客戶(hù)虛擬機(jī)cpu時(shí)間百分比娘锁。(#)
常用的cpu使用率的觀測(cè)工具有
1) top 全面的觀測(cè)工具,包含cpu使用率的指標(biāo)
2) htop top的增強(qiáng)版肿仑,沒(méi)有用過(guò)
3) pidstat 進(jìn)程和線程的cpu使用率致盟,中斷上下文的切換次數(shù)
4)mpstat 每個(gè)cpu使用率和軟中斷次數(shù)
5)/proc/softirqs 軟中斷數(shù)據(jù)統(tǒng)計(jì)
6)/proc/interrupts 硬中斷數(shù)據(jù)統(tǒng)計(jì)
- 系統(tǒng)平均負(fù)載
系統(tǒng)平均負(fù)載,表示系統(tǒng)平均的活躍進(jìn)程數(shù)尤慰。它反映了系統(tǒng)的整體負(fù)載情況。理想情況下雷蹂,平均負(fù)載等于邏輯cpu個(gè)數(shù)伟端,這表示每個(gè)cpu都恰好被充分利用,如果平均負(fù)載大于邏輯cpu個(gè)數(shù)匪煌,就表示負(fù)載比較重了责蝠。
系統(tǒng)平均負(fù)載觀測(cè)工具:
1)uptime 運(yùn)行upime 平均負(fù)載會(huì)出現(xiàn)三個(gè)數(shù)值党巾,分別表示最近1分鐘,最近5分鐘霜医,最近15分鐘的平均負(fù)載
2)
- 進(jìn)程上下文切換
進(jìn)程的上下文切換 包括兩個(gè)指標(biāo) 1)無(wú)法獲取資源而導(dǎo)致的自愿上下文切換(voluntary context switches cswch) 2)被系統(tǒng)強(qiáng)制調(diào)度導(dǎo)致的非自愿上下文切換 (non voluntary context switches nvcswch)
進(jìn)程的上下文切換觀測(cè)工具:
- vmstat 系統(tǒng)的上下文切換
- pidstat 加上-w 選項(xiàng) 可以查詢(xún)進(jìn)程的上下文切換情況
- cpu緩存命令率
cpu緩存分為L(zhǎng)1齿拂,L2, L3 三級(jí)緩存,L1和L2 常用于單核中肴敛,L3則用于多核中署海。
從 L1到L3,三級(jí)緩存的大小依次增大,相應(yīng)的医男,性能依次降低砸狞。Cpu緩存命中率,衡量的是cpu緩存的復(fù)用情況镀梭,命中率越高刀森,則表示性能越好。
cpu緩存命令率的觀測(cè)工具:暫無(wú)