天天看點

Linux性能測試 sar指令

sar指令包含在sysstat工具包中,提供系統的衆多統計資料。其在不同的系統上指令有些差異

sar 指令行的常用格式:

在指令行中,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 的使用情況,需鍵入如下指令:

在顯示内容包括:

  %usr:CPU處在使用者模式下的時間百分比。

    %nice:CPU處在低先級模式下的時間百分比。

  %sys:CPU處在系統模式下的時間百分比。

  %iowait:CPU等待輸入輸出完成時間的百分比。

  %idle:CPU空閑時間百分比。

例二:使用命行sar -v t n

例如,每2秒采樣一次,連續采樣3次,觀察核心表的狀态,需鍵入如下指令:

例三:使用命行sar -d t n

例如,每30秒采樣一次,連續采樣5次,報告裝置使用情況,需鍵入如下指令:

# sar -d 30 5

螢幕顯示:

顯示内容包括:

device: sar指令正在監視的塊裝置的名字。

%busy: 裝置忙時,傳送請求所占時間的百分比。

avque: 隊列站滿時,未完成請求數量的平均值。

r+w/s: 每秒傳送到裝置或從裝置傳出的資料量。

blks/s: 每秒傳送的塊數,每塊512位元組。

avwait: 隊列占滿時傳送請求等待隊列空閑的平均時間。

avserv: 完成傳送請求所需平均時間(毫秒)。

例四 網絡統計情況

totsck 使用的套接字總數量

tcpsck 使用的TCP套接字數量

udpsck 使用的UDP套接字數量

rawsck 使用的raw套接字數量

ip-frag 使用的IP段數量

例五:使用命行sar -b t n

例如,每5秒采樣一次,連續采樣2次,報告緩沖區的使用情況,需鍵入如下指令:

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

ovsiohw/s:每秒在序列槽I/O硬體出現的溢出。

ovsiodma/s:每秒在序列槽I/O的直接輸入輸出通道高速緩存出現的溢出。

ovclist/s :每秒字元隊列出現的溢出。

在顯示的内容中,每一列的值都是零,表明在采樣時間内,系統中沒有發生序列槽I/O溢出現象。

繼續閱讀