Linux性能測試 sar命令


sar命令包含在sysstat工具包中,提供系統的眾多統計數據。其在不同的系統上命令有些差異

sar 命令行的常用格式:

[root@C44 ~]# sar
sysstat version 5.1.5
(C) Sebastien Godard
Usage: sar [ options... ] [ <interval> [ <count> ] ]
Options are:
[ -A ] [ -b ] [ -B ] [ -c ] [ -d ] [ -i <interval> ] [ -p ] [ -q ]
[ -r ] [ -R ] [ -t ] [ -u ] [ -v ] [ -V ] [ -w ] [ -W ] [ -y ]
[ -I { <irq> | SUM | ALL | XALL } ] [ -P { <cpu> | ALL } ]
[ -n { DEV | EDEV | NFS | NFSD | SOCK | FULL } ]
[ -x { <pid> | SELF | ALL } ] [ -X { <pid> | SELF | ALL } ]
[ -o [ <filename> ] | -f [ <filename> ] ]
[ -s [ <hh:mm:ss> ] ] [ -e [ <hh:mm:ss> ] ]
[root@C44 ~]# 

在命令行中,count 和interval 兩個參數組合起來定義采樣間隔和次數,interval為采樣間隔,是必須有的參數,count為采樣次數,是可選的,默認值是1,-o file表示將命令結果以二進制格式存放在文件中,file 在此處不是關鍵字,是文件名。options 為命令行選項,sar命令的選項很多,常用選項如下:
-A:所有報告的總和。
-u:CPU利用率
-v:進程、I節點、文件和鎖表狀態。
-d:硬盤使用報告。
-r:沒有使用的內存頁面和硬盤塊。
-g:串口I/O的情況。
-b:緩沖區使用情況。
-a:文件讀寫情況。
-c:系統調用情況。
-R:進程的活動情況。
-y:終端設備活動情況。
-w:系統交換活動。
-n:網絡統計

下面將舉例說明。

例一:使用命令行 sar -u t n
例如,每1秒采樣一次,連續采樣5次,觀察CPU 的使用情況,需鍵入如下命令:

[root@C44 ~]#  sar -u 1 5
Linux 2.6.14.7-selinux1-WR1.4aq_cgl (MSP)       01/03/07
17:51:51          CPU     %user     %nice   %system   %iowait     %idle
17:51:52          all      0.00      0.00      0.50      0.00     99.50
17:51:53          all      6.53      0.00      2.01      0.00     91.46
17:51:54          all      0.51      0.00      0.51      0.00     98.99
17:51:55          all      1.01      0.00      0.50      0.50     97.99
17:51:56          all      4.04      0.00      1.52      0.00     94.44
Average:          all      2.42      0.00      1.01      0.10     96.48
[root@C44 ~]#  

在顯示內容包括:

  %usr:CPU處在用戶模式下的時間百分比。
    %nice:CPU處在低先級模式下的時間百分比。
  %sys:CPU處在系統模式下的時間百分比。
  %iowait:CPU等待輸入輸出完成時間的百分比。
  %idle:CPU空閑時間百分比。

例二:使用命行sar -v t n
例如,每2秒采樣一次,連續采樣3次,觀察核心表的狀態,需鍵入如下命令:

[root@C44 ~]#  sar -v 2 3
17:53:50    dentunusd   file-sz  inode-sz  super-sz %super-sz  dquot-sz %dquot-sz  rtsig-sz %rtsig-sz
17:53:52        12947      5340     14310         0      0.00         0      0.00         0      0.00
17:53:54        12948      5340     14316         0      0.00         0      0.00         0      0.00
17:53:56        12948      5340     14316         0      0.00         0      0.00         0      0.00
Average:        12948      5340     14314         0      0.00         0      0.00         0      0.00
[root@C44 ~]#  

 

例三:使用命行sar -d t n
例如,每30秒采樣一次,連續采樣5次,報告設備使用情況,需鍵入如下命令:
# sar -d 30 5
屏幕顯示:

SCO_SV scosysv 3.2v5.0.5 i80386 10/01/2001
11:06:43 device %busy   avque   r+w/s  blks/s  avwait avserv (-d)
11:07:13 wd-0   1.47   2.75   4.67   14.73   5.50 3.14
11:07:43 wd-0   0.43   18.77   3.07   8.66   25.11 1.41
11:08:13 wd-0   0.77   2.78   2.77   7.26   4.94 2.77
11:08:43 wd-0   1.10   11.18   4.10   11.26   27.32 2.68
11:09:13 wd-0   1.97   21.78   5.86   34.06   69.66 3.35
Average wd-0   1.15   12.11   4.09   15.19   31.12 2.80 

顯示內容包括:
device: sar命令正在監視的塊設備的名字。
%busy: 設備忙時,傳送請求所占時間的百分比。
avque: 隊列站滿時,未完成請求數量的平均值。
r+w/s: 每秒傳送到設備或從設備傳出的數據量。
blks/s: 每秒傳送的塊數,每塊512字節。
avwait: 隊列占滿時傳送請求等待隊列空閑的平均時間。
avserv: 完成傳送請求所需平均時間(毫秒)。

例四 網絡統計情況

[root@C44 ~]#  sar -n SOCK 3 2   
Linux 2.6.14.7-selinux1-WR1.4aq_cgl (MSP)       01/03/07

17:58:43       totsck    tcpsck    udpsck    rawsck   ip-frag
17:58:46         1414       658       123         1         0
17:58:49         1414       658       123         1         0
Average:         1414       658       123         1         0
[root@C44 ~]#  

totsck 使用的套接字總數量
tcpsck 使用的TCP套接字數量
udpsck 使用的UDP套接字數量
rawsck 使用的raw套接字數量
ip-frag 使用的IP段數量
 

例五:使用命行sar -b t n
例如,每5秒采樣一次,連續采樣2次,報告緩沖區的使用情況,需鍵入如下命令:
屏幕顯示:

[root@C44 ~]#  sar -b 5 2
Linux 2.6.14.7-selinux1-WR1.4aq_cgl (MSP)       01/03/07

18:04:24          tps      rtps      wtps   bread/s   bwrtn/s
18:04:29         0.00      0.00      0.00      0.00      0.00
18:04:34         0.00      0.00      0.00      0.00      0.00
Average:         0.00      0.00      0.00      0.00      0.00
[root@C44 ~]#  

顯示內容包括:
bread/s: 每秒從硬盤讀入系統緩沖區buffer的物理塊數。
lread/s: 平均每秒從系統buffer讀出的邏輯塊數。
%rcache: 在buffer cache中進行邏輯讀的百分比。
bwrit/s: 平均每秒從系統buffer向磁盤所寫的物理塊數。
lwrit/s: 平均每秒寫到系統buffer邏輯塊數。
%wcache: 在buffer cache中進行邏輯讀的百分比。
pread/s: 平均每秒請求物理讀的次數。
pwrit/s: 平均每秒請求物理寫的次數。
在顯示的內容中,最重要的是%cache和%wcache兩列,它們的值體現着buffer的使用效率,%rcache的值小於90或者%wcache的值低於65,應適當增加系統buffer的數量,buffer數量由核心參數NBUF控制,使%rcache達到90左右,%wcache達到80左右。但buffer參數值的多少影響I/O效率,增加buffer,應在較大內存的情況下,否則系統效率反而得不到提高。

例六:使用命行sar -g t n
例如,每30秒采樣一次,連續采樣5次,報告串口I/O的操作情況,需鍵入如下命令:
# sar -g 30 5
屏幕顯示:

SCO_SV scosysv 3.2v5.0.5 i80386  11/22/2001
17:07:03  ovsiohw/s  ovsiodma/s  ovclist/s (-g)
17:07:33   0.00   0.00   0.00
17:08:03   0.00   0.00   0.00
17:08:33   0.00   0.00   0.00
17:09:03   0.00   0.00   0.00
17:09:33   0.00   0.00   0.00
Average    0.00   0.00   0.00

顯示內容包括:
ovsiohw/s:每秒在串口I/O硬件出現的溢出。
ovsiodma/s:每秒在串口I/O的直接輸入輸出通道高速緩存出現的溢出。
ovclist/s :每秒字符隊列出現的溢出。
在顯示的內容中,每一列的值都是零,表明在采樣時間內,系統中沒有發生串口I/O溢出現象。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM