Linux效能分析工具

tolywang發表於2008-07-09
使用Linux效能分析工具
Linux在具有高穩定性、可靠性的同時,具有很好的可伸縮性和擴充套件性,
能夠針對不同的應用和硬體環境調整,最佳化出滿足當前應用需要的最佳效能。
因此企業在維護Linux系統、進行系統調優時,瞭解系統效能分析工具是至關重要的。
[@more@]
在Linux下有很多系統效能分析工具,
比較常見的有top、free、ps、time、timex、uptime等。
下文將介紹幾個較為重要的效能分析工具vmstat、iostat和sar及其使用。

用vmstat監視記憶體使用情況
vmstat是Virtual Meomory Statistics(虛擬記憶體統計)的縮寫,可對作業系統的虛擬記憶體、程式、CPU活動進行監視。
它是對系統的整體情況進行統計,不足之處是無法對某個程式進行深入分析。

vmstat的語法如下:
vmstat [-V] [-n] [delay [count]]

其中,-V表示列印出版本資訊;-n表示在週期性迴圈輸出時,輸出的頭部資訊僅顯示一次;
delay是兩次輸出之間的延遲時間;count是指按照這個時間間隔統計的次數。
對於vmstat輸出各欄位的含義,可噝衜an vmstat檢視。



用iostat監視I/O子系統情況
iostat是I/O statistics(輸入/輸出統計)的縮寫,iostat工具將對系統的磁碟操作活動進行監視。
它的特點是匯報磁碟活動統計情況,同時也會匯報出 CPU使用情況。
同vmstat一樣,iostat也有一個弱點,就是它不能對某個程式進行深入分析,僅對系統的整體情況進行分析。

iostat的語法如下:
iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ]

其中,-c為匯報CPU的使用情況;-d為匯報磁碟的使用情況;-k表示每秒按kilobytes位元組顯示資料;
-t為列印匯報的時間;-v表示列印出版本資訊和用法;-x device指定要統計的裝置名稱,預設為所有的裝置;
interval指每次統計間隔的時間;count指按照這個時間間隔統計的次數。



使用sar進行綜合分析
sar是System Activity Reporter(系統活動情況報告)的縮寫。
顧名思義,sar工具將對系統當前的狀態進行取樣,然後透過計算資料和比例來表達系統的當前噝袪顟B。
它的特點是可以連續對系統取樣,獲得大量的取樣資料;取樣資料和分析的結果都可以存入檔案,所需的負載很小。
sar是目前Linux上最為全面的系統效能分析工具之一,可以從14個大方面對系統的活動進行報告,
包括檔案的讀寫情況、系統呼叫的使用情況、串列埠、CPU效率、記憶體使用狀況、程式活動及IPC有關的活動等,使用也是較為複雜。

sar的語法如下:

sar [-option] [-o file] t [n]
它的含義是每隔t秒取樣一次,共取樣n次。其中-o file表示取樣結果將以二進位制形式存入檔案file中。

sar option引數說明

選項 功能
  -A 匯總所有的報告
  -a 報告檔案讀寫使用情況
  -B 報告附加的快取的使用情況
  -b 報告快取的使用情況
  -c 報告系統呼叫的使用情況
  -d 報告磁碟的使用情況
  -g 報告串列埠的使用情況
  -h 報告關於buffer使用的統計資料
  -m 報告IPC訊息佇列和訊號量的使用情況
  -n 報告命名cache的使用情況
  -p 報告調頁活動的使用情況
  -q 報告噝噓犃瀉徒粨Q佇列的平均長度
  -R 報告程式的活動情況
  -r 報告沒有使用的記憶體頁面和硬碟塊
  -u 報告CPU的利用率
  -v 報告程式、i節點、檔案和鎖表狀態
  -w 報告系統交換活動狀況
  -y 報告TTY裝置活動狀況


另一種語法如下:

sar [-option] [-s time] [-e time] [-i sec] [-f file]

含義是表示從file檔案中取出資料,如果沒有指定-f file,
則從標準資料檔案/var/adm/sa/sadd取資料,其中dd表示當前天。
另外,-s time表示起始時間;-e time表示停止時間;
-i sec表示取樣的時間間隔,如果不指定則表示取檔案中所有的資料。

一般它與-q和-u聯合使用,以便對每個CPU的使用情況進行分析,比如噝腥縵旅?睿

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-1007027/,如需轉載,請註明出處,否則將追究法律責任。

相關文章