1. 程式人生 > >Linux伺服器效能資料收集

Linux伺服器效能資料收集

 

Linux中的top,free等命令不能完全滿足我們效能資料收集的要求,我們需要一個更加強大的工具來收集效能資料。經過考察和對比,發現 Sysstat是一個非常強大的工具,因此下載了試了下,效果不錯。Sysstat是一個工具集,包括sarpidstatiostatmpstatsadfsadc。 其中sar是其中最強大,也是最能符合我們測試要求的工具,同時pidstat也是非常有用的東東,因此本文結合效能測試重點介紹這兩個工具。 

Sysstat的安裝

從http://pagesperso-orange.fr/sebastien.godard/download.html下載最新版本,解壓, 安裝

  •  wget http: // pagesperso - orange.fr / sebastien.godard / sysstat - 8.1 . 2 .tar.gz
     tar zxvf sysstat
     - 8.1 . 2 .tar.gz
     cd sysstat
     - 8.1 . 2 
     .

     / configure
     make
     su
     <enter root password
     > 
     make install  

監視某個程序

  1. 通過ps命令找到相應程序的PID: 
     

     ps  - e

  2. 使用pidstat命令監視程序,詳細用法見:http://pagesperso-orange.fr/sebastien.godard/man_pidstat.html

    pidstat 

     2   5  
    // 每隔2秒,顯示5次,所有活動程序的CPU 使用情況 
    pidstat  -  3132   2   5  
    // 每隔2秒,顯示5次,PID為1643的程序的CPU使用情況顯示 
    pidstat  -  3132   2   5   - r
    // 每隔2秒,顯示5次,PID為1643的程序的記憶體使用情況顯示

    								 
    						
  3. 很可惜的是,pidstat命令沒有儲存效能資料的功能。

檢視效能資料

在sysstat工具包中,sar是最強大的了,通過sar幾乎可以監視所有的效能資料,同時,sar還支援將效能資料儲存起來。
sar詳 細用法請見:http://pagesperso-orange.fr/sebastien.godard/man_sar.html

  1. 檢視CPU使用情況 
     

     sar  2   5 
     // 每隔2秒,顯示5次,CPU使用的情況  

  2. 檢視記憶體使用情況 
     

     sar  -  2   5 
     // 每隔2秒,顯示5次,記憶體使用的情況  

  3. 檢視網路吞吐量 
     

     sar  - n DEV  2   5 
     // 每隔2秒,顯示5次,網路吞吐量情況

儲存效能資料

sar支援儲存成兩種格式的檔案,一種是文字檔案,一種是二進位制檔案(只有通過sar自己的命令才能檢視)。

  1. 儲存為文字檔案 

    結合上面的檢視命令,加入 > filename 引數即可儲存文字檔案,下面列出幾個有用的命令:

     sar  1   10   >  data.txt
     // 每隔1秒,寫入10次,把CPU使用資料儲存到data.txt檔案中。 
     sar  1   0   -  15 : 00 : 00   >  data.txt
     // 每隔1秒記錄CPU的使用情況,直到15點,資料將儲存到data.txt檔案中。(-e 引數表示結束時間,注意時間格式:必須為 hh:mm:ss格式) 
     sar  1   0   -  -  15 : 00 : 00   >  data.txt
     // 每隔1秒記錄記憶體使用情況,直到15點,資料將儲存到data.txt檔案中。 
     sar  1   0   - n DEV  -  15 : 00 : 00   >  data.txt
     // 每隔1秒記錄網路使用情況,直到15點,資料將儲存到data.txt檔案中。

    								 
    						
    用WinSCP工具從Linux伺服器上取下data.txt檔案,內容如下:
     

     Linux  2.6 . 18 - 53 .el5 (Performancesvr5)  2008年05月05 日     _x86_64_

     11時04分05秒     CPU     
     % user      % nice    % system    % iowait     % steal      % idle
     11時04分06秒     all      
     0.25        0.00        0.00        0.00        0.00       99.75 
     11 時04分07秒     all       0.00        0.00        0.25        0.00        0.00       99.75 
     11 時04分08秒     all       0.25        0.00        0.25        1.50        0.00       98.00 
     11 時04分09秒     all       0.25        0.00        0.00        0.50        0.00       99.25 
     11 時04分10秒     all       0.00        0.00        0.00        0.00        0.00      100.00 
     11 時04分11秒     all       0.25        0.00        0.25        0.00        0.00       99.50 
     11 時04分12秒     all       0.00        0.00        0.25        0.00        0.00       99.75 
     11 時04分13秒     all       0.50        0.00        0.50        0.99        0.00       98.01 
     11 時04分14秒     all       0.00        0.00        0.00        1.25        0.00       98.75 
     11 時04分15秒     all       0.50        0.00        0.00        0.00        0.00       99.50 
     平 均時間:     all       0.20        0.00        0.15        0.42        0.00       99.23

    								 
    						
    有了這份資料,就可以輕鬆的使用WPS表格來統計CPU的使用情況了。

     

  2. 儲存為二進位制檔案 

    由於儲存的二進位制檔案只有sar通過-f引數才能開啟,不利於我們分 析和統計資料,因此不推薦使用這個方法。儲存二進位制檔案的引數是-o,如:

     sar  1   5   -  - o data
     // 每隔1秒,寫入5次,將記憶體使用的資料寫入二進位制檔案data中。 
     sar  - f data
     // 檢視data檔案

        官方資料:http://pagesperso-orange.fr/sebastien.godard/documentation.html