iostat -d -k 1 10
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 14.54 417.21 368.06 15719357562 13867444535
dm-0 104.60 415.64 366.87 15660312829 13822621684
dm-1 0.69 1.57 1.19 59041280 44822840
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 7.14 0.00 208.16 0 204
dm-0 52.04 0.00 208.16 0 204
dm-1 0.00 0.00 0.00 0 0
-d:顯示某塊具體硬盤,這裏沒有給出硬盤路徑就是默認全部了
-k:以KB爲單位顯示
1:統計間隔爲1秒
10:共統計10次的
tps:該設備每秒的傳輸次數(Indicate the number of transfers per second that were issued to the device.)。“一次傳輸”意思是“一次I/O請求”。多個邏輯請求可能會被合併爲“一次I/O請求”。“一次傳輸”請求的大小是未知的。
kB_read/s:每秒從設備(drive expressed)讀取的數據量;kB_wrtn/s:每秒向設備(drive expressed)寫入的數據量;kB_read:讀取的總數據量;kB_wrtn:寫入 的總數量數據量;這些單位都爲Kilobytes。
一開始的數值很大是因爲顯示的是累計讀寫量
2. iostat -x 參數,查看設備使用率(%util)、響應時間(await)
iostat -d -k -x 1 10
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %util
sda 4.87 85.88 8.41 6.14 417.21 368.06 107.98 0.02 8.92 2.73 3.97
dm-0 0.00 0.00 12.89 91.72 415.64 366.87 14.96 0.06 1.70 0.38 3.95
dm-1 0.00 0.00 0.39 0.30 1.57 1.19 8.00 0.02 35.25 1.45 0.10
rrqm/s:每秒這個設備相關的讀取請求有多少被Merge了(當系統調用需要讀取數據的 時候,VFS將請求發到各個FS,如果FS發現不同的讀取請求讀取的是相同Block的數據,FS會將這個請求合併Merge);wrqm/s:每秒這個 設備相關的寫入請求有多少被Merge了。
r/s:每秒響應的讀取請求數;w/s:每秒響應的寫入請求數;rkB/s:每秒讀取的數據量;wkB/s:每秒寫入的數據量
await:每一個IO請求的處理的平均時間(單位是微秒)。這裏可以理解爲IO的響應時 間,一般地系統IO響應時間應該低於5ms,如果大於10ms就比較大了。
%util:在統計時間內所有處理IO時間,除以總共統計時間。例如,如果統計間隔1秒,該 設備有0.8秒在處理IO,而0.2秒閒置,那麼該設備的%util = 0.8/1 = 80%,所以該參數暗示了設備的繁忙程度。一般地,如果該參數是100%表示設備已經接近滿負荷運行了(當然如果是多磁盤,即使%util是100%,因 爲磁盤的併發能力,所以磁盤使用未必就到了瓶頸)。
3.iostat -c 參數,查看CPU狀態信息
iostat -c 1 10
avg-cpu: %user %nice %system %iowait %steal %idle
1.28 0.00 0.43 0.84 0.00 97.45
avg-cpu: %user %nice %system %iowait %steal %idle
0.77 0.00 0.26 0.00 0.00 98.98
avg-cpu: %user %nice %system %iowait %steal %idle
13.71 0.00 2.28 0.00 0.00 84.01
4.vmstat命令,查看內存使用情況
vmstat 1 10
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 96 2934580 149988 274084 0 0 104 92 0 0 1 0 97 1 0
0 0 96 2934580 149988 274084 0 0 0 0 1088 252 0 0 100 0 0
0 0 96 2934468 149988 274200 0 0 148 0 1071 253 0 0 99 0 0
0 0 96 2934468 149988 274200 0 0 0 0 1069 283 0 0 100 0 0
2 0 96 2926656 150012 284304 0 0 0 332 1166 381 7 1 92 0 0
0 0 96 2935088 150032 274084 0 0 0 26560 1284 818 41 5 49 6 0
1 0 96 2933872 150096 274276 0 0 244 0 1226 887 36 4 59 0 0
0 0 96 2933872 150120 274692 0 0 0 0 1244 1646 15 1 84 0 0
0 0 96 2933756 150156 275040 0 0 0 0 1198 705 13 3 84 0 0
0 0 96 2933756 150156 275040 0 0 0 0 1097 328 0 0 100 0 0
Procs
r:在運行隊列中等待的進程數
b:在等待io的進程數
Memory
swpd: 虛擬內存使用情況,單位:KB
free: 空閒的內存,單位KB
buff: 被用來做爲緩存的內存數,單位:KB
Swap
si: 從磁盤交換到內存的交換頁數量,單位:KB/秒
so: 從內存交換到磁盤的交換頁數量,單位:KB/秒
IO
bi: 發送到塊設備的塊數,單位:塊/秒
bo: 從塊設備接收到的塊數,單位:塊/秒
System
in: 每秒的中斷數,包括時鐘中斷
cs: 每秒的環境(上下文)切換次數
CPU
按 CPU 的總使用百分比來顯示
us: CPU 使用時間
sy: CPU 系統使用時間
id: 閒置時間
r、b列一般爲0,表示沒有等待進程,如果不爲0表示系統性能有問題
si、so 兩 列,表示內存交換的頻繁程度,如果數值長期很大,表示內存不夠,要和硬盤交換數據,也可以表示要讀寫的數據每次都不一樣
bi、bo 兩列,表示I/O輸入輸出很頻繁