在linux系統環境的測試開發過程中,我們常常需要評估系統性能,尤其在性能測試工作中,我們需要通過系統資源的監控,從而分析定位系統的性能瓶頸。
首先,我們要知道從哪些維度來評估系統的性能好壞:
- CPU利用率及負載
- 內存利用率
- 磁盤I/O利用率
- 網絡利用率
如何監控上述系統資源的使用情況,有哪些常用的命令和工具呢。下面,就給大家羅列幾個工作最常用的性能監控命令及工具,希望能對大家的工作有幫助。
1、vmstat
全稱是Virtual Meomory Statistics(虛擬內存統計),對linux內存、進程及CPU活動進行監控,只能對系統整體情況進行統計。
常用參數:
-s:顯示內存相關統計信息,
-a:顯示活躍和非活躍內存
-d:顯示磁盤相關統計信息
-t:顯示時間
2、top
top是一個功能強大的性能監控工具,是linux使用者最常使用系統命令,作用類似於windows系統的任務管理器。能夠實時監控系統的運行狀態,主要顯示系統中各個進程的資源使用情況,並根據cpu及內存等進行排序。
常用參數:
-d:設定刷新時間
-p:指定進程
3、iostat
I/O(輸入輸出)統計,對系統磁盤進行監控,輸出磁盤讀寫的統計信息,只能進行整體分析。
常用參數
-c:顯示CPU的使用情況
-d:顯示磁盤的使用情況
4、netstat
netstat命令用於顯示與IP、TCP、UDP和ICMP協議相關的統計數據,檢驗本機各端口的網絡連接情況。
常用參數:
-a:顯示所有連接socket信息。
-t:顯示所有TCP連接信息
-u:顯示所有UDP連接信息
-p:顯示socket所屬進程的PID和名稱
5、sar
sar系統活動情況報告(System Activity Reporter)是一個非常全面的系統監控命令,可以獲取系統的CPU、內存、進程活動,系統調用等信息。
常用參數:
-u:顯示所有CPU在采樣時間內的負載狀態
-r:輸出內存和交換空間的統計信息
-b:采樣時間內緩沖區的使用情況
-n:顯示網絡運行狀態
-d:硬盤設備在采樣時間的使用情況
-q:運行隊列的大小
6、nmon
nmon是一款計算機性能系統監控工具,因為它免費,體積小,安裝簡單,耗費資源低,廣泛應用於AIX和Linux系統。需要單獨安裝,網上有很多安裝的過程,這里就不多說了。
輸入nmon后,可以使用如下命令:
c:顯示CPU的信息
m:內存信息
n:系統網絡信息
d:磁盤信息
t:系統的進程信息
常用參數:
-s:每隔n秒抽樣一次
-c:取多少個抽樣數量
-f:按標准格式輸出文件名稱YYMMDD_HHMM.nmon
-m:指定統計文件的保存目錄
nmon-s1-c60-f-m/home/nmon
使用nmonanalyser可以把nmon采集的數據生成直觀的Excel圖表,如下:
7、dstat
多功能系統資源統計生成工具,需要單獨安裝。集成了vmstat,iostat和ifstat三種命令的功能,輸出帶顏色的信息,更加清晰的顯示系統的整體運行情況。
常用參數:
-c:顯示CPU系統占用
-d:顯示磁盤讀寫數據大小。
-n:顯示網絡狀態。
-m:顯示內存使用情況。
-p:顯示進程狀態。
-s:顯示交換分區使用情況。
-r:I/O請求情況。
一般使用按照如分類,進行性能工具選取,有時候需要幾個命令配合使用,在使用命令選擇上大家可以參考下圖。