linux磁盤讀寫性能監控

1.硬盤讀寫性能,#查看TPS和吞吐量信息
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輸入輸出很頻繁
發佈了170 篇原創文章 · 獲贊 75 · 訪問量 63萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章