【AIX 學習】效能優化--sar

楊奇龍發表於2010-09-10

sar 是unix中的效能監控工具,是system activity report 的縮寫,主要收集,顯示,和儲存系統的活動資訊,包括cpu效率,記憶體使用狀況,系統呼叫的使用,檔案讀寫情況,程式活動即PIC有關活動等。
sar 命令設計由cron守候程式啟動執行,如果cron 程式每天都沒有執行sar命令,
當執行不帶引數的sar命令時會出現如下提示:
ufserver[/]#sar
Can't open /var/adm/sa/sa10
Try running /usr/lib/sa/sa1
執行一次,就可以使用sar命令
ufserver[/]#/usr/lib/sa/sa1 2 5

ufserver[/]#sar ---不帶引數顯示cpu 統計資訊
AIX ufserver 3 5 00CECD3E4C00    09/10/10
System configuration: lcpu=4  mode=Capped
13:51:40    %usr    %sys    %wio   %idle   physc
13:51:42       1       1       0      99    2.00
13:51:44       0       1       0      99    2.00
13:51:46       0       1       0      99    2.01
13:51:48       1       1       0      99    2.00
Average        1       1       0      99    2.00
%usr cpu花在使用者應用程式上的時間百分比。
%sys 處於系統模式下的時間,cpu花在核心程式上的時間百分比。
%wio cpu為等待磁碟I/O完成而空閒的百分比
%idle cpu純粹地處於空閒狀態的時間百分比,即沒有磁碟I/O請求。
physc  ?
ufserver[/]#sar 5 5  --每隔5秒收集一次cpu資訊,共採集10次。
AIX ufserver 3 5 00CECD3E4C00    09/10/10
System configuration: lcpu=4  mode=Capped
13:58:44    %usr    %sys    %wio   %idle   physc
13:58:49       1       1       0      98    2.00
13:58:54       1       1       0      99    2.00
13:58:59       1       1       0      98    2.00
13:59:04       1       1       0      99    2.00
13:59:09       1       1       0      98    2.00
Average        1       1       0      98    2.00

ufserver[/]#sar -a 3 5  --以3秒為週期取樣5次,報告檔案系統的檔案讀寫操作情況
AIX ufserver 3 5 00CECD3E4C00    09/10/10
System configuration: lcpu=4  mode=Capped
14:16:21  iget/s lookuppn/s dirblk/s
14:16:24       0       1079        0
14:16:27       0        663        0
14:16:30       0       1621        0
14:16:33       0        749        0
14:16:36       0       1437        0

Average        0       1110        0
ufserver[/]# --系統呼叫的情況。系統呼叫是有作業系統提供的系統函式,這些函式可以由應用程式或系統程式呼叫。
ufserver[/]#sar -c 3 5
AIX ufserver 3 5 00CECD3E4C00    09/10/10
System configuration: lcpu=4  mode=Capped
14:19:05 scall/s sread/s swrit/s  fork/s  exec/s rchar/s wchar/s
14:19:08    2158      21      19    0.66    0.66    4564    1206
14:19:11    5170     300      18    1.94    3.56 1055832    1184
14:19:14    2141      16      16    0.00    0.00    1066    1105
14:19:17    2730      17      17    0.00    0.00    1082    1121
14:19:20    2164      19      16    0.00    0.00    1389    1105

Average     2886      76      17    0.53    0.86  218176    1144
各個欄位的含義:
scall/s 表示每秒鐘使用系統呼叫的總數
sread/s 表示每秒鐘使用read()系統呼叫的總數
依次類推

ufserver[/]#sar -d 2 3 --統計塊裝置活動資訊 (可以使用iostat 代替sar -d )
AIX ufserver 3 5 00CECD3E4C00    09/10/10
System configuration: lcpu=4 drives=3  mode=Capped
13:52:50     device    %busy    avque    r+w/s    Kbs/s   avwait   avserv
13:52:52     hdisk1      0      0.0        0        0      0.0      0.0
             hdisk0      2      0.0        3       15      0.0      7.0
                cd0      0      0.0        0        0      0.0      0.0
13:52:54     hdisk1      0      0.0        0        0      0.0      0.0
             hdisk0      0      0.0        0        8      0.0      4.2
                cd0      0      0.0        0        0      0.0      0.0
13:52:56     hdisk1      0      0.0        0        0      0.0      0.0
             hdisk0      0      0.0        0        0      0.0      0.0
                cd0      0      0.0        0        0      0.0      0.0
Average      hdisk1      0      0.0        0        0      0.0      0.0
             hdisk0      0      0.0        1        7      0.0      3.7
                cd0      0      0.0        0        0      0.0      0.0
---統計佇列活動資訊 runq-sz<4 且 swpocc<5 較好
ufserver[/]#sar -q 2 5 檢視佇列的資訊統計
AIX ufserver 3 5 00CECD3E4C00    09/10/10
System configuration: lcpu=4  mode=Capped
14:23:13 runq-sz %runocc swpq-sz %swpocc
14:23:15     1.0      50               
14:23:17                               
14:23:19     1.0      50               
14:23:21                               
14:23:23                               
Average      1.0      20  
各個欄位的含義:
runq-sz :指執行佇列中核心執行緒的平均總數
%runocc :佔用的時間百分比
swpq-sz :指核心執行緒等待頁面調入的平均數,即交換佇列的大小
%swpocc :指交換佇列佔用的時間百分比
---統計頁面排程的活動
ufserver[/]#sar -r 2 5
AIX ufserver 3 5 00CECD3E4C00    09/10/10
System configuration: lcpu=4 mem=3920MB  mode=Capped
14:28:49   slots cycle/s fault/s  odio/s
14:28:51 1141869    0.00  426.25   74.36
14:28:53 1141869    0.00  670.12   99.26
14:28:55 1141869    0.00  333.50    0.00
14:28:57 1141869    0.00  336.00   16.00
14:28:59 1141869    0.00 2152.19    0.50
Average  1141869       0     781      38
各個欄位的含義:
cycle/s : 報告每秒頁面替換迴圈的數量。
fault/s :報告每秒缺頁故障的數量。它沒有對生成 I/O 的缺頁故障進行計數,因為一些缺頁故障可以在沒有 I/O 的情況下解決。
slots   :報告在調頁空間中空閒頁的數量。
odio/s  :報告每秒非頁面排程磁碟 I/O 的數量。
----檢視系統表的使用情況。
ufserver[/]#sar -v 2 5
AIX ufserver 3 5 00CECD3E4C00    09/10/10
System configuration:  mode=Capped
14:31:25  proc-sz     inod-sz     file-sz     thrd-sz  
14:31:27  142/262144  0/206       935/41675   356/524288
14:31:29  142/262144  0/206       935/41675   356/524288
14:31:31  141/262144  0/206       935/41675   355/524288
14:31:33  142/262144  0/206       935/41675   356/524288
14:31:35  141/262144  0/206       935/41675   355/524288
報告程式、核心執行緒、i-node 和檔案表的狀態。將顯示以下數值:
file-sz 檔案表, inod-sz i 節點表, proc-sz 程式表, thrd-sz 核心執行緒表
報告每個表中正在使用的條目數。
各列的值是分數,分子表示取樣時 已經使用的表的個數,分母表示總的個數。通過監控表的使用情況,可以判斷相應的系統表是否溢位。當發生溢位時 要調整相應的系統核心引數。

---統計TTY裝置的資訊
ufserver[/]#sar -y 2 6
AIX ufserver 3 5 00CECD3E4C00    09/10/10
System configuration: lcpu=4  mode=Capped
14:37:06 rawch/s canch/s outch/s rcvin/s xmtin/s mdmin/s
14:37:08       0       0      71       0       0       0
14:37:10       0       0      29       0       0       0
14:37:12       0       0      29       0       0       0
14:37:14       0       0      29       0       0       0
14:37:16       0       0      29       0       0       0
14:37:18       0       0      29       0       0       0
Average        0       0      36       0       0       0
報告每秒 tty 裝置的活動。
canch/s 報告 tty 規範輸入佇列字元。對於 AIX V4 及以後的版本,本欄位總是 0(零)。
mdmin/s 報告 tty 調變解調器中斷次數。
outch/s 報告 tty 輸出佇列字元數。
rawch/s 報告 tty 輸入佇列字元數。
revin/s 報告 tty 接收中斷次數。
xmtin/s 報告 tty 傳送中斷次數

---緩衝區的資訊統計  (測試機比較空閒)
ufserver[/]#sar -b 3 5
AIX ufserver 3 5 00CECD3E4C00    09/10/10
System configuration: lcpu=4  mode=Capped
14:39:50 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s
14:39:53       0       0       0       0       0       0       0       0
14:39:56       0       0       0       0       0       0       0       0
14:39:59       0       0       0       0       0       0       0       0
14:40:02       0       0       0       0       0       0       0       0
14:40:05       0       0       0       0       0       0       0       0
Average        0       0       0       0       0       0       0       0
ufserver[/]#

報告緩衝區活動中每秒用於傳輸、存取以及快取記憶體(核心塊快取記憶體)的命中率。存取第 3 版本中的大多數檔案會忽略核心塊緩衝,因此不生成這些統計資訊。然而,如果程式開啟塊裝置或裸字元裝置進行 I/O,則使用傳統的存取機制使生成的統計資訊變得有意義。將顯示以下數值:
bread/s, bwrit/s
報告 I/O 操作的塊的數目。這些 I/O 通常由核心執行來管理塊快取記憶體區,正如在 lread/s 值的描述中所論述的那樣。
lread/s, lwrit/s
報告邏輯 I/O 請求的數量。當執行對塊裝置的邏輯讀或寫時,可能請求小於整塊大小的邏輯傳輸大小。系統對所有塊的物理裝置單元進行存取,並將這些塊緩衝在為此目的而留出的核心緩衝區(塊 I/O 快取記憶體區)中。這個快取記憶體區由核心管理,因此對塊裝置的多個邏輯讀寫可以存取以前緩衝在快取記憶體中的資料,而且不需要對該裝置進行真正的 I/O。應用程式對塊的讀寫請求作為邏輯讀寫而統計地報告。由管理快取記憶體區的核心所執行的對塊裝置的塊 I/O 作為塊讀寫而報告。
pread/s, pwrit/s
報告對裸裝置的 I/O 操作的數量。對裸字元裝置的 I/O 請求不像對塊裝置的 I/O 請求那樣緩衝。直接對裝置執行 I/0。
%rcache, %wcache
報告快取記憶體的效率(快取記憶體命中百分比)。此百分比由下式計算得出:[(100)x(lreads - breads)/ (lreads)]。

--報告核心程式活動。將顯示以下數值:
ufserver[/]#sar -k 3 5
AIX ufserver 3 5 00CECD3E4C00    09/10/10
System configuration: lcpu=4  mode=Capped
14:44:01 ksched/s kproc-ov  kexit/s
14:44:04        0        0        0
14:44:07        0        0        0
14:44:10        0        0        0
14:44:13        0        0        0
14:44:16        0        0        0
Average         0        0        0
欄位含義:
kexit/s 
報告每秒核心程式終止數。
kproc-ov/s 
報告由於實施程式閾值限制而不能建立核心程式的次數。
ksched/s
報告每秒分配執行任務的核心程式數。

--報告每秒訊息(傳送和接收)以及訊號量(建立、使用或破壞)活動。
當與 -P 標誌一起使用時,為每個指定的處理器提供此資訊;否則,只在系統範圍內提供此資訊。將顯示以下數值:
ufserver[/]#sar -m 2 6
AIX ufserver 3 5 00CECD3E4C00    09/10/10
System configuration: lcpu=4  mode=Capped
14:45:15   msg/s  sema/s
14:45:17    0.00    9.94
14:45:19    0.00   10.00
14:45:21    0.00   14.50
14:45:23    0.00   10.00
14:45:25    0.00   10.00
14:45:27    0.00   10.00
Average     0.00   10.74
 
ufserver[/]#sar -mP 2 6  ---使用引數P
AIX ufserver 3 5 00CECD3E4C00    09/10/10
System configuration: lcpu=4  mode=Capped
14:46:09 cpu   msg/s  sema/s
14:46:15  2     0.00   10.83
msg/s
報告 IPC 訊息原語的數量。
sema/s
報告 IPC 訊號量原語的數量。

--報告系統切換的活動。
當與 -P 標誌一起使用時,為每個指定的處理器提供此資訊;否則,只在系統範圍內提供此資訊。將顯示以下數值:
ufserver[/]#sar -w 3 5
AIX ufserver 3 5 00CECD3E4C00    09/10/10
System configuration: lcpu=4  mode=Capped
14:47:31 cswch/s
14:47:34    1040
14:47:37    1132
14:47:40    1057
14:47:43    1425
14:47:46    1459
Average     1223
欄位含義:
cswch/s
報告每秒上下文轉接的數量。
---報告所有處理器和系統範圍內的訊息、訊號量及 CPU 活動,:
ufserver[/]#sar -mu -P ALL
AIX ufserver 3 5 00CECD3E4C00    09/10/10
System configuration: lcpu=4  mode=Capped

13:51:40 cpu   msg/s  sema/s
13:51:42  0     0.00    9.95
          1     0.00    0.00
          2     0.00    0.00
          3     0.00    0.00
          -     0.00    9.85
13:51:44  0     0.00   10.00
          1     0.00    0.00
          2     0.00    0.00
          3     0.00    0.00
          -     0.00   10.00
13:51:46  0     0.00    1.00
          1     0.00    0.00
          2     0.00    8.78
          3     0.00    0.00
          -     0.00    9.93
13:51:48  0     0.00    0.00
          1     0.00    0.00
          2     0.00   10.00
          3     0.00    0.00
          -     0.00    9.88
Average   0     0.00    5.18
          1     0.00    0.00
          2     0.00    4.71
          3     0.00    0.00
          -     0.00    9.91
System configuration: lcpu=4  mode=Capped
13:51:40 cpu    %usr    %sys    %wio   %idle   physc
13:51:42  0        2       2       0      96    0.53
          1        0       0       0     100    0.47
          2        0       0       0      99    0.52
          3        0       0       0     100    0.48
          -        1       1       0      99    2.00
13:51:44  0        2       2       0      97    0.52
          1        0       0       0     100    0.47
          2        0       0       0      99    0.52
          3        0       0       0     100    0.48
          -        0       1       0      99    2.00
13:51:46  0        2       1       0      97    0.53
          1        0       0       0     100    0.48
          2        0       1       0      99    0.53
          3        0       0       0     100    0.48
          -        0       1       0      99    2.01
13:51:48  0        2       2       0      97    0.52
          1        0       0       0     100    0.47
          2        0       1       0      99    0.52
          3        0       0       0     100    0.48
          -        1       1       0      99    2.00
Average   0        2       2       0      97    0.53
          1        0       0       0     100    0.47
          2        0       1       0      99    0.52
          3        0       0       0     100    0.48
          -        1       1       0      99    2.00
ufserver[/]#

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

相關文章