公號:軟測小生(ruancexiaosheng)
前一段時間,有人問我,Linux下如何查看CPU以及內(nèi)存的使用率和詳細情況?兩眼一抹黑,沒實際去操作過,不知道命令;今天抽時間學(xué)習(xí)一下。
就說在自動化測試中吧也需要經(jīng)常查看CPU的使用率,最常見的是在做性能測試以及服務(wù)器測試的時候,需要分析整體運行情況,給出測試報告;Windows%20Server的查看當然簡單咯,打開任務(wù)管理器,還自動繪制出折線圖,很直觀。
今天就來好好學(xué)習(xí)下Linux下如何查看CUP的使用率:
監(jiān)控CPU的性能一般包括以下3點:運行隊列、CPU使用率和上下文切換。
對于每一個CPU來說運行隊列最好不要超過3,例如,如果是雙核CPU就不要超過6。如果隊列長期保持在3以上,說明任何一個進程運行時都不能馬上得到cpu的響應(yīng),這時可能需要考慮升級cpu。另外滿負荷運行cpu的使用率最好是user空間保持在65%~70%,system空間保持在30%,空閑保持在0%~5%%20。
下面總結(jié)下查看CPU使用率常用的幾個命令。
1、top
這個命令很常用,在第三行有顯示CPU當前的使用情況。
#%20top%20-bn%201%20%20-i%20-c</pre>
image
如上所示,top命令可以看到總體的系統(tǒng)運行狀態(tài)和cpu的使用率%20。
%us:表示用戶空間程序的cpu使用率(沒有通過nice調(diào)度)
%sy:表示系統(tǒng)空間的cpu使用率,主要是內(nèi)核程序。
%ni:表示用戶空間且通過nice調(diào)度過的程序的cpu使用率。
%id:空閑cpu
%wa:cpu運行時在等待io的時間
%hi:cpu處理硬中斷的數(shù)量
%si:cpu處理軟中斷的數(shù)量
%st:被虛擬機偷走的cpu
如果只輸入top的話是實時動態(tài)的:
image
2、vmstat
之前在本博客中有介紹過vmstat的使用linux命令,詳細使用和參數(shù)介紹參考網(wǎng)址:
#%20vmstat%201%20%205</pre>
image
image
3、sar
sar命令語法和vmstat一樣。命令不存在時需要安裝sysstat包,這個包很有用。
CPU使用率
例如每1秒采集一次CPU使用率,共采集5次。(我的機器上沒裝sysstat,并且剛剛裝的時候遇到點問題,晚上在花時間敲一遍命令)
image
[root@Peter%20~]#%20sar%20-u%201%205
Linux%203.18.5-x86_64-linode52%20(Peter)%2007/20/2015%20x86_64%20(1%20CPU)
02:41:25%20PM%20CPU%20%user%20%nice%20%system%20%iowait%20%steal%20%idle
02:41:26%20PM%20all%2064.71%200.00%2018.63%200.00%200.98%2015.69
02:41:27%20PM%20all%2029.47%200.00%2022.11%2014.74%200.00%2033.68
02:41:28%20PM%20all%2067.33%200.00%2031.68%200.99%200.00%200.00
02:41:29%20PM%20all%207.00%200.00%202.00%200.00%200.00%2091.00
02:41:30%20PM%20all%2069.00%200.00%2023.00%200.00%200.00%208.00
Average:%20all%2047.79%200.00%2019.48%203.01%200.20%2029.52
和top一樣,可以看到所有cpu的使用情況。如果需要查看某顆cpu的使用可以用-P參數(shù)。例如指定顯示0號cpu%20的使用情況。
[root@Peter%20~]#%20sar%20-P%200%20-u%201%205
Linux%203.18.5-x86_64-linode52%20(Peter)%2007/20/2015%20x86_64%20(1%20CPU)