dmesg能夠直接查看cpu的主頻,要查看CPU、內存的使用狀況可使用sar!linux
sar 命令行的經常使用格式:
sar [options] [-A] [-o file] t [n]ios
在命令行中,n 和t 兩個參數組合起來定義採樣間隔和次數,t爲採樣間隔,是必須有的參數,n爲採樣次數,是可選的,默認值是1,-o file表示將命令結果以二進制格式存放在文件中,file 在此處不是關鍵字,是文件名。options 爲命令行選項,sar命令的選項不少,下面只列出經常使用選項:數組
-A:全部報告的總和。
-u:CPU利用率
-v:進程、I節點、文件和鎖表狀態。
-d:硬盤使用報告。
-r:沒有使用的內存頁面和硬盤塊。
-g:串口I/O的狀況。
-b:緩衝區使用狀況。
-a:文件讀寫狀況。
-c:系統調用狀況。
-R:進程的活動狀況。
-y:終端設備活動狀況。
-w:系統交換活動。緩存
下面將舉例說明。服務器
sar 1 10 > data.txt
//每隔1秒,寫入10次,把CPU使用數據保存到data.txt文件中。
sar 1 0 -e 15:00:00 > data.txt
//每隔1秒記錄CPU的使用狀況,直到15點,數據將保存到data.txt文件中。(-e 參數表示結束時間,注意時間格式:必須爲hh:mm:ss格式)
sar 1 0 -r -e 15:00:00 > data.txt
//每隔1秒記錄內存使用狀況,直到15點,數據將保存到data.txt文件中。
sar 1 0 -n DEV -e 15:00:00 > data.txt
//每隔1秒記錄網絡使用狀況,直到15點,數據將保存到data.txt文件中。網絡
例一:使用命令行 sar -u t nide
例如,每60秒採樣一次,連續採樣5次,觀察CPU 的使用狀況,並將採樣結果以二進制形式存入當前目錄下的文件zhou中,需鍵入以下命令:工具
# sar -u -o zhou 60 5性能
屏幕顯示:優化
SCO_SV scosysv 3.2v5.0.5 i80386 10/01/2001
14:43:50 %usr %sys %wio %idle(-u)
14:44:50 0 1 4 94
14:45:50 0 2 4 93
14:46:50 0 2 2 96
14:47:50 0 2 5 93
14:48:50 0 2 2 96
Average 0 2 4 94
在顯示內容包括:
%usr:CPU處在用戶模式下的時間百分比。
%sys:CPU處在系統模式下的時間百分比。
%wio:CPU等待輸入輸出完成時間的百分比。
%idle:CPU空閒時間百分比。
在全部的顯示中,咱們應主要注意%wio和%idle,%wio的值太高,表示硬盤存在I/O瓶頸,%idle值高,表示CPU較空閒,若是%idle值高但系統響應慢時,有多是CPU等待分配內存,此時應加大內存容量。%idle值若是持續低於10,那麼系統的CPU處理能力相對較低,代表系統中最須要解決的資源是CPU。
若是要查看二進制文件zhou中的內容,則需鍵入以下sar命令:
# sar -u -f zhou
可見,sar命令便可以實時採樣,又能夠對以往的採樣結果進行查詢。
例二:使用命行sar -v t n
例如,每30秒採樣一次,連續採樣5次,觀察覈心表的狀態,需鍵入以下命令:
# sar -v 30 5
屏幕顯示:
SCO_SV scosysv 3.2v5.0.5 i80386 10/01/2001
10:33:23 proc-sz ov inod-sz ov file-sz ov lock-sz (-v)
10:33:53 305/ 321 0 1337/2764 0 1561/1706 0 40/ 128
10:34:23 308/ 321 0 1340/2764 0 1587/1706 0 37/ 128
10:34:53 305/ 321 0 1332/2764 0 1565/1706 0 36/ 128
10:35:23 308/ 321 0 1338/2764 0 1592/1706 0 37/ 128
10:35:53 308/ 321 0 1335/2764 0 1591/1706 0 37/ 128
顯示內容包括:
proc-sz:目前核心中正在使用或分配的進程表的表項數,由核心參數MAX-PROC控制。
inod-sz:目前核心中正在使用或分配的i節點表的表項數,由核心參數MAX-INODE控制。
file-sz: 目前核心中正在使用或分配的文件表的表項數,由核心參數MAX-FILE控制。
ov:溢出出現的次數。
Lock-sz:目前核心中正在使用或分配的記錄加鎖的表項數,由核心參數MAX-FLCKRE控制。
顯示格式爲
實際使用表項/可使用的表項數
顯示內容表示,核心使用徹底正常,三個表沒有出現溢出現象,核心參數不需調整,若是出現溢出時,要調整相應的核心參數,將對應的表項數加大。
例三:使用命行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: 完成傳送請求所需平均時間(毫秒)。
在顯示的內容中,wd-0是硬盤的名字,%busy的值比較小,說明用於處理傳送請求的有效時間太少,文件系統效率不高,通常來說,%busy值高些,avque值低些,文件系統的效率比較高,若是%busy和avque值相對比較高,說明硬盤傳輸速度太慢,需調整。
例四:使用命行sar -b t n
例如,每30秒採樣一次,連續採樣5次,報告緩衝區的使用狀況,需鍵入以下命令:
# sar -b 30 5
屏幕顯示:
SCO_SV scosysv 3.2v5.0.5 i80386 10/01/2001
14:54:59 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s (-b)
14:55:29 0 147 100 5 21 78 0 0
14:55:59 0 186 100 5 25 79 0 0
14:56:29 4 232 98 8 58 86 0 0
14:56:59 0 125 100 5 23 76 0 0
14:57:29 0 89 100 4 12 66 0 0
Average 1 156 99 5 28 80 0 0
顯示內容包括:
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溢出現象。
sar命令的用法不少,有時判斷一個問題,須要幾個sar命令結合起來使用,好比,懷疑CPU存在瓶頸,可用sar -u 和sar -q來看,懷疑I/O存在瓶頸,可用sar -b、sar -u和sar-d來看。
--------------------------------------------------------------------------------
Sar
-A 全部的報告總和
-a 文件讀,寫報告
-B 報告附加的buffer cache使用狀況
-b buffer cache使用狀況
-c 系統調用使用報告
-d 硬盤使用報告
-g 有關串口I/O狀況
-h 關於buffer使用統計數字
-m IPC消息和信號燈活動
-n 命名cache
-p 調頁活動
-q 運行隊列和交換隊列的平均長度
-R 報告進程的活動
-r 沒有使用的內存頁面和硬盤塊
-u CPU利用率
-v 進程,i節點,文件和鎖表狀態
-w 系統交換活動
-y TTY設備活動
-a 報告文件讀,寫報告
sar –a 5 5
SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/07/2002
11:45:40 iget/s namei/s dirbk/s (-a)
11:45:45 6 2 2
11:45:50 91 20 28
11:45:55 159 20 18
11:46:00 157 21 19
11:46:05 177 30 35
Average 118 18 20
iget/s 每秒由i節點項定位的文件數量
namei/s 每秒文件系統路徑查詢的數量
dirbk/s 每秒所讀目錄塊的數量
*這些值越大,代表核心花在存取用戶文件上的時間越多,它反映着一些程序和應用文件系統產生的負荷。通常地,若是iget/s與namei/s的比值大於5,而且namei/s的值大於30,則說明文件系統是低效的。這時須要檢查文件系統的自由空間,看看是否自由空間過少。
-b 報告緩衝區(buffer cache)的使用狀況
sar -b 2 3
SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/07/2002
13:51:28 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s (-b)
13:51:30 382 1380 72 131 273 52 0 0
13:51:32 378 516 27 6 22 72 0 0
13:51:34 172 323 47 39 57 32 0 0
Average 310 739 58 58 117 50 0 0
bread/s 平均每秒從硬盤(或其它塊設備)讀入系統buffer的物理塊數
lread/s 平均每秒從系統buffer讀出的邏輯塊數
%rcache 在buffer cache中進行邏輯讀的百分比(即100% - bread/lreads)
bwrit/s 平均每秒從系統buffer向磁盤(或其它塊設備)所寫的物理塊數
lwrit/s 平均每秒寫到系統buffer的邏輯塊數
%wcache 在buffer cache中進行邏輯寫的百分比(即100% - bwrit/lwrit).
pread/sgu 平均每秒請求進行物理讀的次數
pwrit/s 平均每秒請求進行物理寫的次數
*所顯示的內容反映了目前與系統buffer有關的讀,寫活。在所報告的數字中,最重要的是%rcache和%wcache(統稱爲cache命中率)兩列,它們具體體現着系統buffer的效率。衡量cache效率的標準是它的命中率值的大小。
*若是%rcache的值小於90或者%wcache的值低於65,可能就須要增長系統buffer的數量。若是在系統的應用中,系統的I/O活動十分頻繁,而且在內存容量配置比較大時,能夠增長buffer cache,使%rcache達到95左右,%wcache達到80左右。
*系統buffer cache中,buffer的數量由核心參數NBUF控制。它是一個要調的參數。系統中buffer數量的多少是影響系統I/O效率的瓶頸。要增長系統buffer數量,則要求應該有較大的內存配置。不然一味增長buffer數量,勢必減小用戶進程在內存中的運行空間,這一樣會致使系統效率降低。
-c 報告系統調用使用狀況
sar -c 2 3
SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/07/2002
17:02:42 scall/s sread/s swrit/s fork/s exec/s rchar/s wchar/s (-c)
17:02:44 2262 169 141 0.00 0.00 131250 22159
17:02:46 1416 61 38 0.00 0.00 437279 6464
17:02:48 1825 43 25 0.00 0.00 109397 42331
Average 1834 91 68 0.00 0.00 225975 23651
scall/s 每秒使用系統調用的總數。通常地,當4~6個用戶在系統上工做時,每秒大約30個左右。
sread/s 每秒進行讀操做的系統調用數量。
swrit/s 每秒進行寫操做的系統調用數量。
fork/s 每秒fork系統調用次數。當4~6個用戶在系統上工做時,每秒大約0.5秒左右。
exec/s 每秒exec系統調用次數。
rchar/s 每秒由讀操做的系統調用傳送的字符(以字節爲單位)。
wchar/s 每秒由寫操做的系統調用傳送的字符(以字節爲單位)。
*若是scall/s持續地大於300,則代表正在系統中運行的多是效率很低的應用程序。在比較典型的狀況下,進行讀操做的系統調用加上進行寫操做的系統調用之和,約是scall的一半左右。
-d 報告硬盤使用狀況
sar -d 2 3
SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/07/2002
17:27:49 device %busy avque r+w/s blks/s avwait avserv (-d)
17:27:51 ida-0 6.93 1.00 13.86 259.41 0.00 5.00
ida-1 0.99 1.00 17.33 290.10 0.00 0.57
17:27:53 ida-0 75.50 1.00 54.00 157.00 0.00 13.98
ida-1 9.50 1.00 12.00 75.00 0.00 7.92
17:27:55 ida-0 7.46 1.00 46.77 213.93 0.00 1.60
ida-1 17.41 1.00 57.71 494.53 0.00 3.02
Average ida-0 29.85 1.00 38.14 210.28 0.00 7.83
ida-1 9.29 1.00 29.02 286.90 0.00 3.20
device 這是sar命令正在監視的塊設備的名字。
%busy 設備忙時,運行傳送請求所佔用的時間。這個值以百分比表示。
avque 在指定的時間週期內,沒有完成的請求數量的平均值。僅在隊列被佔滿時取這個值。
r+w/s 每秒傳送到設備或者從設備傳送出的數據量。
blks/s 每秒傳送的塊數。每塊512個字節。
avwait 傳送請求等待隊列空閒的平均時間(以毫秒爲單位)。僅在隊列被佔滿時取這個值。
avserv 完成傳送請求所需平均時間(以毫秒爲單位)
*ida-0和ida-1是硬盤的設備名字。在顯示的內容中,若是%busy的值比較小,說明用於處理傳送請求的有效時間太少,文件系統的效率不高。要使文件系統的效率獲得優化,應使%busy的數值相對高一些,而avque的值應該低一些。
-g 報告有關串口I/O狀況
sar -g 3 3
SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/13/2002
11:10:09 ovsiohw/s ovsiodma/s ovclist/s (-g)
11:10:12 0.00 0.00 0.00
11:10:15 0.00 0.00 0.00
11:10:18 0.00 0.00 0.00
Average 0.00 0.00 0.00
ovsiohw/s 每秒在串囗I/O硬件出現的溢出。
ovsiodma/s 每秒在串囗I/O的直接輸入,輸出信道高速緩存出現的溢出。
ovclist/s 每秒字符隊列出現的溢出。
-m 報告進程間的通訊活動(IPC消息和信號燈活動)狀況
sar -m 4 3
SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/13/2002
13:24:28 msg/s sema/s (-m)
13:24:32 2.24 9.95
13:24:36 2.24 21.70
13:24:40 2.00 36.66
Average 2.16 22.76
msg/s 每秒消息操做的次數(包括髮送消息的接收信息)。
sema/s 每秒信號燈操做次數。
*信號燈和消息做爲進程間通訊的工具,若是在系統中運行的應用過程當中沒有使用它們,那麼由sar命令報告的msg 和sema的值都將等於0.00。若是使用了這些工具,而且其中或者msg/s大於100,或者sema/s大於100,則代表這樣的應用程序效率比較低。緣由是在這樣的應用程序中,大量的時間花費在進程之間的溝通上,而對保證進程自己有效的運行時間必然產生不良的影響。
-n 報告命名緩衝區活動狀況
sar -n 4 3
SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/13/2002
13:37:31 c_hits cmisses (hit %) (-n)
13:37:35 1246 71 (94%)
13:37:39 1853 81 (95%)
13:37:43 969 56 (94%)
Average 1356 69 (95%)
c_hits cache命中的數量。
cmisses cache未命中的數量。
(hit %) 命中數量/(命中數理+未命中數量)。
*不難理解,(hit %)值越大越好,若是它低於90%,則應該調整相應的核心參數。
-p 報告分頁活動
sar -p 5 3
SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/13/2002
13:45:26 vflt/s pflt/s pgfil/s rclm/s (-p)
13:45:31 36.25 50.20 0.00 0.00
13:45:36 32.14 58.48 0.00 0.00
13:45:41 79.80 58.40 0.00 0.00
Average 49.37 55.69 0.00 0.00
vflt/s 每秒進行頁面故障地址轉換的數量(因爲有效的頁面當前不在內存中)。
pflt/s 每秒來自因爲保護錯誤出現的頁面故障數量(因爲對頁面的非法存,取引發的頁面故障)。
pgfil/s 每秒經過」頁—入」知足vflt/s的數量。
rclm/s 每秒由系統恢復的有效頁面的數量。有效頁面被增長到自由頁面隊列上。
*若是vflt/s的值高於100,可能預示着對於頁面系統來講,應用程序的效率不高,也可能分頁參數須要調整,或者內存配置不太合適。
-q 報告進程隊列(運行隊列和交換隊列的平均長度)狀況
sar -q 2 3
SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/13/2002
14:25:50 runq-sz %runocc swpq-sz %swpocc (-q)
14:25:52 4.0 50
14:25:54 9.0 100
14:25:56 9.0 100
Average 7.3 100
runq-sz 準備運行的進程運行隊列。
%runocc 運行隊列被佔用的時間(百分比)
swpq-sz 要被換出的進程交換隊列。
%swpocc 交換隊列被佔用的時間(百分比)。
*若是%runocc大於90,而且runq-sz的值大於2,則代表CPU的負載較重。其直接後果,可能使系統的響應速度下降。若是%swpocc大於20,代表交換活動頻繁,將嚴重致使系統效率降低。解決的辦法是加大內存或減小緩存區數量,從而減小交換及頁—入,頁—出活動。
-r 報告內存及交換區使用狀況(沒有使用的內存頁面和硬盤塊)
sar -r 2 3
SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/14/2002
10:14:19 freemem freeswp availrmem availsmem (-r)
10:14:22 279729 6673824 93160 1106876
10:14:24 279663 6673824 93160 1106876
10:14:26 279661 6673824 93160 1106873
Average 279684 6673824 93160 1106875
freemem 用戶進程可使用的內存頁面數,4KB爲一個頁面。
freeswp 用於進程交換可使用的硬盤盤塊,512B爲一個盤塊。
-u CPU利用率
sar -u 2 3
SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/14/2002
10:27:23 %usr %sys %wio %idle (-u)
10:27:25 2 3 8 88
10:27:27 3 3 5 89
10:27:29 0 0 0 100
Average 2 2 4 92
.
%usr cpu處在用戶模式下時間(百分比)
%sys cpu處在系統模式下時間(百分比)
%wio cpu等待輸入,輸出完成(時間百分比)
%idle cpu空閒時間(百分比)
*在顯示的內容中,%usr和 %sys這兩個值通常狀況下對系統無特別影響,%wio的值不能過高,若是%wio的值太高,則CPU花在等待輸入,輸出上的時間太多,這意味着硬盤存在I/O瓶頸。若是%idle的值比較高,但系統響應並不快,那麼這有多是CPU花時間等待分配內存引發的。%idle的值能夠較深刻幫助人們瞭解系統的性能,在這種狀況上,%idle的值處於40~100之間,一旦它持續低於30,則代表進程竟爭的主要資源不是內存而是CPU。
*在有大量用戶運行的系統中,爲了減小CPU的壓力,應該使用智能多串卡,而不是非智能多串卡。智能多串卡能夠承擔CPU的某些負擔。
*此外,若是系統中有大型的做業運行,應該把它們合理調度,錯開高峯,當系統相對空閒時再運行。
-v 報告系統表的內容(進程,i節點,文件和鎖表狀態)
sar -v 2 3
SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/14/2002
10:56:46 proc-sz ov inod-sz ov file-sz ov lock-sz (-v)
10:56:48 449/ 500 0 994/4147 0 1313/2048 0 5/ 128
10:56:50 450/ 500 0 994/4147 0 1314/2048 0 5/ 128
10:56:52 450/ 500 0 994/4147 0 1314/2048 0 5/ 128
proc-sz 目前在覈心中正在使用或分配的進程表的表項數
inod-sz 目前在覈心中正在使用或分配的i節點表的表項數
file-sz 目前在覈心中正在使用或分配的文件表的表項數
ov 溢出出現的次數
lock-sz 目前在覈心中正在使用或分配的記錄加鎖的表項數
*除ov外,均涉及到unix的核心參數,它們分別受核心參數NPROC,NIMODE,NFILE和FLOCKREC的控制。
*顯示格式爲:
實際使用表項/整個表可使用的表項數
好比,proc-sz一列所顯示的四個數字中,分母的100是系統中整個進程表的長度(可創建100個表項),分子上的24,26和25分別是採樣的那一段時間所使用的進程表項。inod-sz,file-sz和lock-sz三列數字的意義也相同。
三列ov的值分別對應進程表,i節點表和文件表,代表目前這三個表都沒有出現溢出現象,當出現溢出時,須要調整相應的核心參數,將對應表加大。
-w 系統交換活動
sar -w 2 3
SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/14/2002
11:22:05 swpin/s bswin/s swpot/s bswots pswch/s (-w)
11:22:07 0.00 0.0 0.00 0.0 330
11:22:09 0.00 0.0 0.00 0.0 892
11:22:11 0.00 0.0 0.00 0.0 1053
Average 0.00 0.0 0.00 0.0 757
swpin/s 每秒從硬盤交換區傳送進入內存的次數。
bswin/s 每秒爲換入而傳送的塊數。
swpot/s 每秒從內存傳送到硬盤交換區的次數。
bswots 每秒爲換出而傳送的塊數。
pswch/s 每秒進程交換的數量。
*swpin/s,bswin/s,swpot/s和bswots描述的是與硬盤交換區相關的交換活動。交換關係到系統的效率。交換區在硬盤上對硬盤的讀,寫操做比內存讀,寫慢得多,所以,爲了提升系統效率就應該設法減小交換。一般的做法就是加大內存,使交換區中進行的交換活動爲零,或接近爲零。若是swpot/s的值大於1,預示可能須要增長內存或減小緩衝區(減小緩衝區可以釋放一部分自由內存空間)。
-y 報了結端的I/O活動(TTY設備活動)狀況
sar -y 2 3
SCO_SV scosvr 3.2v5.0.5 PentII(D)ISA 06/14/2002
11:38:03 rawch/s canch/s outch/s rcvin/s xmtin/s mdmin/s (-y)
11:38:05 5 0 951 0 1 0
11:38:07 10 0 996 0 0 0
11:38:09 4 0 2264 0 0 0
Average 6 0 1404 0 1 0
rawch/s 每秒輸入的字符數(原始隊列)
canch/s 每秒由正則隊列(canonical queue)處理的輸入字符數。進行正則處理過程當中,能夠識別出一些有特殊意義的字符。好比,(中斷字符),(退出符),(退格鍵)等。所以,canch/s中的計數不包括這些有特殊意義的字符。
outch/s 每秒輸出的字符數。
rcvin/s 每秒接收的硬件中斷次數。
xmtin/s 每秒發出的硬件中斷次數。
mdmin/s 每秒modem中斷次數。
*應該特別說明,sar命令能夠對任意終端活動進行統計,所謂任意終端,是指任意tty設備。它們能夠是串行終端,主控臺,僞終端等等。
*在這幾個量中,modem中斷次數mdmin/s應該接近0。其它沒有特殊要求,但若是每發送一個字符,中斷的數量就動態地增長,這代表終端線出了差錯,多是接觸很差。
這個包在各大發行版中都有,若是您試一下有sar這個命令就證實已經有了。若是沒有的,能夠下載安裝上就OK了
1、簡要介紹:
sysstat這個工具,能夠說是linux &Unix 以及Freebsd最經常使用的工具。它的主要用途就是觀察服務負載,好比CPU和內存的佔用率、網絡的使用率以及磁盤寫入和讀取速度等。
sar
iostat
sa1
sa2
sadf
mpstat
sadc
sysstat
這幾個命令中,有的是服務,有的是查看結果的命令。也有的是即時服務器CPU,內存以及網絡的使用率,好比先要打開sa1 sa2或者sysstat 才能使用sar sadf sadc, 還要即時服務器的CPU,內存,網絡使用率的命令,好比:mpstat iostat
2、安裝:
首先您要下載最新的版本,最好是源碼包,好比我下載的是sysstat-8.1.2.tar.gz
安裝方法比較簡單:
#wget http://pagesperso-orange.fr/sebastien.godard/sysstat-8.1.2.tar.gz
#tar zxvf sysstat-8.1.2.tar.gz
#cd sysstat-8.1.2
#./configure
#make
#make install
這裏出現問題
mkdir: `/usr/local/man/man1' exists but is not a directory
make: *** [install_base] Error 1
解決辦法是把 /usr/local/man/man1文件改爲文件夾
這樣就好安裝了。
3、使用:
對於這個工具,如何使用呢??若是您想看即時 服務器的CPU,內存,網絡使用率的命令,好比:mpstat iostat ,您能夠簡單的用下面的命令,若是更復雜一點,您能夠用man來查看全部命令的用法。
好比:
[beinan@S11 beinan]$ iostat
Linux 2.4.22-2f (S11) 2004年10月30日
avg-cpu: %user %nice %system %iowait %idle
8.64 0.00 0.95 0.00 90.41
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
dev3-0 2.97 55.28 38.84 213314 149856
[beinan@S11 beinan]$ mpstat
Linux 2.4.22-2f (S11) 2004年10月30日
03時13分56秒 CPU %user %nice %sys %iowait %irq %soft %idle intr/s
03時13分56秒 all 8.56 0.00 0.94 0.00 0.00 0.00 90.50 84.32
好比觀察磁盤的讀寫速度:
[beinan@S11 beinan]$ iostat -p
Linux 2.4.22-2f (S11) 2004年10月30日
avg-cpu: %user %nice %system %iowait %idle
33.54 0.00 4.95 0.86 60.65
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
hda 26.26 186.57 481.17 16117015 41564960
hda1 3.29 1.33 26.01 115138 2246456
hda2 19.86 26.49 149.65 2288449 12927104
hda3 40.16 158.57 305.51 13697580 26391400
hda5 0.00 0.00 0.00 8 0
若是是想讓服務器自動運行,而且想每一個小時都有一個數據反饋,咱們能夠用cron 來讓執行sa1 sa2,這樣就有一份日誌文件存在/var/log/sa/目錄中。咱們到時運行sar就能知道全部過去時間每一個小時運行狀況:
能夠寫一個命令到一個文件中。。。把這個文件設置爲755的執行權限,放在/etc/cron.hourly目錄中。
[root@S11 root]# cd /etc/cron.hourly/ 進入目錄
[root@S11 cron.hourly]# touch sa1ho 建立文件,這個文件名能夠本身來命名
[root@S11 cron.hourly]# chmod 755 sa1ho
而後在這個文件中寫入下面的一行
/usr/local/lib/sa/sa1&
這樣每個小時,就有日誌文件寫入/var/log/sa/目錄中了,固然還有一個/usr/local/lib/sa/sa2的命令,也能夠寫一個文件到 在/etc/cron.weekly/目錄中,sa2是作什麼用的呢?本身先看看幫助文件,固然也能夠寫入/etc/cron.hourly/ ,這樣就每小時一次。