系統效能分析工具
上面的章節介紹了影響linux效能的幾個方面以及如何解決這些方面的問題,但是如何才能從系統上發現是某個方面或某幾個方面出現問題了呢,這就需要使用linux系統提供的幾個常用效能分析工具,下面就具體講述這幾個常用效能分析工具的使用。
1.vmstat命令
vmstat是Virtual Meomory Statistics(虛擬記憶體統計)的縮寫,很多linux發行版本都預設安裝了此命令工具,利用vmstat命令可以對作業系統的記憶體資訊、進程狀態、CPU活動等進行監視,不足之處是無法對某個進程進行深入分析。
vmstat使用文法如下:
vmstat [-V] [-n] [delay [count]]
各個選項及參數含義如下:
l -V:表示列印出版本資訊,是選擇性參數。
l -n:表示在周期性迴圈輸出時,輸出的頭部資訊僅顯示一次。
l delay:表示兩次輸出之間的間隔時間。
l count:表示按照“delay”指定的時間間隔統計的次數。預設為1。
例如:
vmstat 3
表示每3秒鐘更新一次輸出資訊,迴圈輸出,按ctrl+c停止輸出。
vmstat 3 5
表示每3秒更新一次輸出資訊,統計5次後停止輸出。
2.iostat命令
iostat是I/O statistics(輸入/輸出統計)的縮寫,主要的功能是對系統的磁碟I/O操作進行監視。它的輸出主要顯示磁碟讀寫操作的統計資訊,同時也會給出CPU使用方式。同vmstat一樣,iostat也不能對某個進程進行深入分析,僅對系統的整體情況進行分析。
iostat一般都不隨系統安裝,要使用iostat工具,需要在系統上安裝一個Sysstat的工具包,Sysstat是一個開源軟體,官方地址為http://pagesperso-orange.fr/sebastien.godard
可以選擇原始碼包或rpm包的方式安裝,這裡不在講述安裝過程,安裝完畢,系統會多出3個命令:iostat、sar和mpstat。然後就可以直接在系統下運行iostat命令了。
iostat使用文法如下:
iostat [ -c | -d ] [ -k ] [ -t ] [ -x [ device ] ] [ interval [ count ] ]
各個選項及參數含義如下:
-c:顯示CPU的使用方式。
-d:顯示磁碟的使用方式。
-k:每秒以k bytes為單位顯示資料。
-t:列印出統計資訊開始執行的時間。
-x device:指定要統計的磁碟裝置名稱,預設為所有的磁碟裝置。
interval:指定兩次統計間隔的時間;
count:按照“interval”指定的時間間隔統計的次數。
3.sar命令
sar命令很強大,是分析系統效能的重要工具之一,通過sar指令,可以全面的擷取系統的CPU、運行隊列、磁碟I/O、分頁(交換區)、記憶體、CPU中斷、網路等效能資料。
sar使用格式為:
sar [options] [g1] [-o filename] [interval [count] ]
各個選項及參數含義如下:
l options 為命令列選項,sar命令的選項很多,下面只列出常用選項:
-A:顯示系統所有資源裝置(CPU、記憶體、磁碟)的健全狀態。
-u:顯示系統所有CPU在採樣時間內的負載狀態。
-P:顯示當前系統中指定CPU的使用方式。
-d:顯示系統所有硬碟裝置在採樣時間內的使用狀況。
-r:顯示系統記憶體在採樣時間內的使用狀況。
-b:顯示緩衝區在採樣時間內的使用方式。
-v:顯示進程、檔案、I節點和鎖表狀態。
-n:顯示網路運行狀態。參數後面可跟DEV、EDEV、SOCK和FULL。DEV顯示網路介面資訊,EDEV顯示網路錯誤的統計資料,SOCK顯示通訊端資訊,FULL顯示三個所有的資訊。它們可以單獨或者一起使用。
-q:顯示了運行隊列的大小,它與系統當時的平均負載相同。
-R:顯示進程在採樣時間內的活動情況。
-y:顯示終端裝置在採樣時間內的活動情況。
-w:顯示系統交換活動在採樣時間內的狀態。
l -o filename:表示將命令結果以二進位格式存放在檔案中,filename是檔案名稱。
l interval:表示採樣間隔時間,是必須有的參數。
l count:表示採樣次數,是選擇性參數,預設值是1。