Linux

iotop 和 iostat 不同意

  • April 14, 2019

我試圖了解我的伺服器磁碟發生了什麼。它執行的是 Ubuntu 12.04LTS,我習慣於iostat知道磁碟何時成為瓶頸。但iostat -xd在我看來,磁碟很空閒:

Linux 3.2.0-41-generic (loki)   07/05/2013  _x86_64_    (8 CPU)

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
sda               0.16     1.23    0.69    1.49     9.94    37.03    43.05     0.52  239.02   14.16  343.06   3.65   0.80
sdb               0.00     0.00    0.00    0.00     0.00     0.00     8.10     0.00    0.25    0.25    0.00   0.25   0.00
dm-0              0.00     0.00    0.82    2.70     9.92    37.03    26.67     0.72  203.84   16.80  260.64   2.27   0.80
dm-1              0.00     0.00    0.00    0.00     0.00     0.00     7.99     0.00  198.63    9.33 1232.65  13.97   0.00
dm-2              0.00     0.00    0.00    0.00     0.00     0.00     7.99     0.00  497.11   14.27 1858.12  20.96   0.00

iotop講述了一個非常不同的畫面:

Total DISK READ:      31.84 M/s | Total DISK WRITE:      19.55 M/s
 TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                                     
27472 be/4 mongodb    31.35 M/s    3.92 K/s  0.00 % 46.56 % mongod --config /etc/mongodb.conf
 318 be/3 root        0.00 B/s   94.06 K/s  0.00 % 44.52 % [jbd2/dm-0-8]
1493 be/4 mongodb     0.00 B/s   48.88 M/s  0.00 %  9.13 % mongod --config /etc/mongodb.conf
   1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init
   2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
   3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]
   6 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [migration/0]
   7 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [watchdog/0]

mongod每秒寫入數十兆字節。

差異來自哪裡,我應該相信哪個?

iostat -xd將為您提供自上次計數器重置(通常是上次系統重新啟動)以來的iotop平均值,同時生成最後一秒的平均值。如果您想要可比較的結果,您應該在iostat呼叫中附加一個刷新時間間隔,例如

iostat -xdmy 5

在 5 秒的時間段內進行平均。

引用自:https://serverfault.com/questions/521155