在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
使用nmon analyser可以把nmon採集的數據生成直觀的Excel圖表,如下:
7.dstat
多功能系統資源統計生成工具,需要單獨安裝。集成了vmstat**,**iostat和ifstat三種命令的功能,輸出帶顏色的信息,更加清晰的顯示系統的整體運行情況。
常用參數:
- -c:顯示CPU系統佔用
- -d:顯示磁盤讀寫數據大小。
- -n:顯示網絡狀態。
- -m:顯示內存使用情況。
- -p:顯示進程狀態。
- -s:顯示交換分區使用情況。
- -r:I/O請求情況。
一般使用按照如分類,進行性能工具選取,有時候需要幾個命令配合使用,在使用命令選擇上大家可以參考下圖。
最後,給大家整理了一套3個T的linux從基礎到高級編程的資源,關注【吾非同】後臺回覆「linux」獲取。獲取其他測試及Python資源回覆「資料」獲取。