sar效能監視命令-實時監控CPU

keeptrying發表於2014-02-28

sarUNIX系統中比較傳統的效能監視工具,也是系統管理員用於監視系統效能的首選工具之一。sarSystem Activity Report的簡寫,它主要收集、顯示和儲存系統的活動資訊,包括CPU效率、記憶體使用狀況、系統呼叫的使用、檔案的讀寫情況、程式活動及IPC有關活動等。在這些功能中,sar最常用於監視CPU和記憶體的使用情況。

一、實時觀察和顯示以前收集資料

sar命令沒有指定取樣間隔和取樣次數時,將從-f引數指定的檔案中讀取系統資料,如果也沒有使用-f引數,則從當天的資料檔案(/var/adm/sa/sadddd是指當天的日子)中讀取資料。

-f引數說明:

-f File :從指定檔案讀取記錄,檔名由File引數指定,這個檔案是由帶-o引數的sar命令建立的。預設檔名是當天的資料檔案(/var/adm/sa/sadddd是指當天的日子)。

-o引數說明:

-o File :將從系統中獲取統計資訊以二進位制格式儲存在指定的檔案中,由File引數指定檔名。統計資訊按記錄存放,每一條記錄包含著獲取的時間。

sar命令有兩種獲取系統統計資料的方式:一種是實時地觀察系統活動的資料,另一種顯示以前收集的系統資料。當在使用sar命令時指定了IntervalNumber引數就會實時地獲得系統的統計資料;當沒有指定IntervalNumber引數或者指定了-f引數,則顯示以前由sadc命令收集的系統統計資料。

sar命令實質上也是呼叫sadc命令。當執行sar命令時,會在後臺執行一個/usr/lib/sa/sadc程式,sar命令將sadc程式收集到的二進位制資料轉換成文字格式,然後顯示出來,或者直接將sadc程式產生的二進位制資料儲存到某一個檔案中。

本文只介紹實時監視。

二、分析CPU的活動

CPU的活動狀態主要體現在忙與閒上,即在任意時刻它只能是空閒和繁忙中的兩種狀態之一。當CPU忙時,它可以是處在使用者模式下,執行使用者的應用程式,也可以是處在系統模式下,執行系統核心程式。當CPU空閒時,有可能是正在等待I/O操作,有可能處於純粹的空閒狀態(沒有I/O操作請求)。

示例:

每隔2秒採集一次CPU活動的資料,總共採集10次。

# sar 2 10

AIX servera 3 4 000922044C00 07/17/02

11:06:21   %usr   %sys   %wio   %idle

11:06:23     21     2        0       76

11:06:25     17     1        0       82

11:06:27     13     1        0       86

11:06:29     12     0        0       88

11:06:31      0     0        0       100

11:06:33     11     0        0       89

11:06:35     13     0        0       89

11:06:37     14     1        0       85

11:06:39     13     1        0       86

11:06:41     13     0        0       86

Average      13     1        0       86

sar命令執行結果的第一列是採集資料的時刻,其餘各列是一些系統指標。

l   %usr表示CPU處在使用者模式下的時間,即CPU花在使用者應用程式上的時間百分比。

l   %sys表示CPU處於系統模式下的時間,即CPU花在核心程式上的時間百分比。

l   %wio表示CPU為等待磁碟I/O完成而空閒的時間百分比。

l   %idle表示CPU純粹地處於空閒狀態的百分比,即也沒有磁碟I/O請求。

sar命令顯示的CPU報告中,%usr+%sys+%wio+%idle=100%。一般情況下,%usr%sys對系統的影響並不大,如果當%usr+%sys的值接近100%,則說明CPU的利用已達到極限,就可能要考慮增加CPU的個數。如果%usr明顯地大於%sys,則說明使用者的應用程式佔用CPU時間太多了,可能要考慮優化應用程式,或者增加CPU的個數。

平時應保持%wio值不能太高。如果%wio值過高(若超過75%),則CPU花在等待磁碟I/O上的時間太多,CPU的執行可能會在等待磁碟I/O上被阻塞,因而磁碟I/O成為系統效能的瓶頸。磁碟I/O可能是由資料庫的讀寫操作或由檔案訪問引起的。如果沒有足夠的記憶體會引起頁面排程過分頻繁,這樣也會產生大量的磁碟I/O。對於資料庫讀寫操作,就需要優化資料在磁碟上的分佈,儘可能地使用資料讀操作達到併發,也可以採用條帶化邏輯卷的分佈策略;對於頁面排程頻繁,就需要建立多個頁面空間,並將其分佈在不同的物理磁碟上。

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

相關文章