linux:sar監控命令

sar
sar -u   監控CPU
[root@Test1 ~]# sar -u
Linux 2.6.32-358.el6.i686 (Test1)     03/26/2015     _i686_    (1 CPU)

11:08:23 PM       LINUX RESTART

11:10:02 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
11:20:01 PM     all      0.05      0.00      1.12      1.04      0.00     97.79
Average:        all      0.05      0.00      1.12      1.04      0.00     97.79

%usr:用戶進程消耗cpu的時間百分比
%nice:運行正常進程消耗cpu的時間百分比
%system:系統進程消耗cpu的時間百分比
%iowait:I/O等待所佔cpu的時間百分比
%steal:在內存緊張環境下,pagein強制對不同頁面進行的steal操作
%idle:CPU空閒狀態的時間百分比
在所有顯示中,應主要注意%iowait和%idle,%iowait的值過高,表示硬盤存在I/O瓶頸,%idle值高,表示cpu比較空閒,如果%idle值高,但系統系統響應慢,則有可能是cpu等待分配內存,此時應加大內存容量,%idle值如果持續低於10,那麼系統cpu出來能力相對較低,表明系統中最需要解決的資源瓶頸是cpu。

sar -v 3 5       sar監控inode、文件和其他內核表
[root@Test1 /]# sar -v 3 5
Linux 2.6.32-358.el6.i686 (Test1)     03/27/2015     _i686_    (1 CPU)

12:22:40 AM dentunusd   file-nr  inode-nr    pty-nr
12:22:43 AM     29225      1056     36515         2
12:22:46 AM     29225      1056     36515         2
12:22:49 AM     29225      1056     36515         2
12:22:52 AM     29225      1056     36515         2
indove-sz:目前核心中正在使用或分配的節點表的表項數,由核心參數MAX-INODE控制
file-sz  :目前核心中正在使用或分配的文件表的表項數,由核心參數MAX-FILE控制。
super-sz :溢出出現的次數
dentunusd: 目錄高速緩存中未被使用的條目數

sar -r 2 4    監控內存和交換空間
[root@Test1 /]# sar -r 2 4     監控內存和交換空間
Linux 2.6.32-358.el6.i686 (Test1)     03/27/2015     _i686_    (1 CPU)

01:00:35 AM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
01:00:37 AM    667612    363068     35.23     55968    119224    575564     18.60
01:00:39 AM    667612    363068     35.23     55968    119224    575564     18.60
01:00:41 AM    667612    363068     35.23     55968    119224    575564     18.60
01:00:43 AM    667612    363068     35.23     55968    119224    575564     18.60
Average:       667612    363068     35.23     55968    119224    575564     18.60
kbmemfree:因爲這個值和free命令中的free值基本一致,所以它不包括buffer和cache的空間
kbmemused:因爲這個值和free命令中的used值基本一直,所以它包括buffer和cache空間
%memused:  這個值是kbmemfree和內存總量(不包括swap)的百分比
kbbuffers和kbcached:這兩個值就是free命令中的buffer和cache
kbcommit:保證當前系統所需要的內存,即爲了確保不溢出而需要的內存(RAM+swap)。
%commit : 這個值是kbcommit與內存總量(包含swap)的一個百分比

sar 監控內存分頁
[root@Test1 /]# sar -B 2 1
Linux 2.6.32-358.el6.i686 (Test1)     03/27/2015     _i686_    (1 CPU)

01:30:59 AM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
01:31:01 AM      0.00      0.00     18.59      0.00     53.77      0.00      0.00      0.00      0.00
Average:         0.00      0.00     18.59      0.00     53.77      0.00      0.00      0.00      0.00
pgpgin/s:表示每秒從磁盤或SWAP置換到內存的字節數(KB)
pgpgout/s:表示每秒從內存置換到磁盤或SWAP的字節數(KB)
fault/s:每秒系統產生的缺頁數,即主缺頁之和(major+minor)
majflt/s:每秒產生的主缺頁數

sar 監控I/O速率
[root@Test1 /]# sar -b 2 1
Linux 2.6.32-358.el6.i686 (Test1)     03/27/2015     _i686_    (1 CPU)

01:37:45 AM       tps      rtps      wtps   bread/s   bwrtn/s
01:37:47 AM      0.00      0.00      0.00      0.00      0.00
Average:         0.00      0.00      0.00      0.00      0.00
tps:每秒物理設備的I/O傳輸總量
rtps:每秒從物理設備讀入的數據總量
wtps: 每秒從物理設備寫入的數據總量
bread/s:每秒從物理設備讀入的數據量,單位爲塊/s
bwrtn/s:每秒從物理設備寫入的數據量,單位爲塊/s

sar -q  3 2    監控隊列長度以及系統平均負載
[root@Test1 /]# sar -q 3 2
Linux 2.6.32-358.el6.i686 (Test1)     03/27/2015     _i686_    (1 CPU)

01:47:55 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15
01:47:58 AM         0       191      0.00      0.00      0.00
01:48:01 AM         0       191      0.00      0.00      0.00
Average:            0       191      0.00      0.00      0.00
runq-sz :運行隊列的長度(等待運行的進程數)
plist-sz: 進程列表中進程(processes)和線程(threads)的數量
ldave-l : 最後1min的系統平均負載
ldave-5 : 最後5min的系統平均負載
ldave-l5 : 最後15min的系統平均負載

sar -W 3 2監控交換頁信息
[root@Test1 /]# sar -W 3 2
]Linux 2.6.32-358.el6.i686 (Test1)     03/27/2015     _i686_    (1 CPU)

01:55:24 AM  pswpin/s pswpout/s
01:55:27 AM      0.00      0.00
01:55:30 AM      0.00      0.00
Average:         0.00      0.00
pswpin/s : 每秒系統換入的交換頁面(swao page)數量
pswpout/s: 每秒系統換出的交換頁面數量

sar -d 3 2 -p 監控設備使用情況
tps:每秒從物理磁盤I/O的次數,多個邏輯請求會合併爲一請求個I/O磁盤,一次傳輸的大小是不確定的
rd_sec/s:每秒讀扇區的次數
wr_sec/s:每秒寫扇區的次數
avgrq-sz:平均每次設備I/O操作的數據大小(扇區)
avgqu-sz:磁盤請求隊列的平均長度
await:從請求磁盤操作到系統完成處理,每次請求的平均消耗時間,包括請求隊列等待時間,單位是毫秒
svctm:系統處理每次請求的平均時間,不包括請求隊列中消耗的時間
%util:I/O請求佔CPU的百分比,比率越大,說明越飽和
要判斷系統瓶頸問題,有時需要幾個sar命令選項結合起來
懷疑cpu存在瓶頸,可以用sar -u 和sar -q
懷疑內存存在瓶頸,sar -B sar -r 和sar -w
懷疑I/O存在瓶頸,sar -b sar -u sar -d


[root@localhost logs]# sar -h
用法: sar [ 選項 ] [ <時間間隔> [ <次數> ] ]
主選項和報告:
        -b      I/O 和傳輸速率信息狀況
        -B      分頁狀況
        -d      塊設備狀況
        -I { <中斷> | SUM | ALL | XALL }
                中斷信息狀況
        -m      電源管理信息狀況
        -n { <關鍵詞> [,...] | ALL }
                網絡統計信息
                關鍵詞可以是:
                DEV     網卡
                EDEV    網卡 (錯誤)
                NFS     NFS 客戶端
                NFSD    NFS 服務器
                SOCK    Sockets (套接字)        (v4)
                IP      IP 流   (v4)
                EIP     IP 流   (v4) (錯誤)
                ICMP    ICMP 流 (v4)
                EICMP   ICMP 流 (v4) (錯誤)
                TCP     TCP 流  (v4)
                ETCP    TCP 流  (v4) (錯誤)
                UDP     UDP 流  (v4)
                SOCK6   Sockets (套接字)        (v6)
                IP6     IP 流   (v6)
                EIP6    IP 流   (v6) (錯誤)
                ICMP6   ICMP 流 (v6)
                EICMP6  ICMP 流 (v6) (錯誤)
                UDP6    UDP 流  (v6)
        -q      隊列長度和平均負載
        -r      內存利用率
        -R      內存狀況
        -S      交換空間利用率
        -u [ ALL ]
                CPU 利用率
        -v      Kernel table 狀況
        -w      任務創建與系統轉換統計信息
        -W      交換信息
        -y      TTY 設備狀況

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章