溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Linux中如何使用iotop和iostat監(jiān)控磁盤I/O活動

發(fā)布時間:2021-09-13 17:18:22 來源:億速云 閱讀:132 作者:chen 欄目:系統(tǒng)運維

本篇內(nèi)容介紹了“怎么在Linux中如何使用iotop和iostat監(jiān)控磁盤I/O活動”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

什么是 iotop?

iotop 是一個類似 top 的工具,用來顯示實時的磁盤活動。

iotop 監(jiān)控 Linux 內(nèi)核輸出的 I/O 使用信息,并且顯示一個系統(tǒng)中進程或線程的當前 I/O 使用情況。

它顯示每個進程/線程讀寫 I/O 帶寬。它同樣顯示當?shù)却龘Q入和等待 I/O 的線程/進程花費的時間的百分比。

Total DISK READTotal DISK WRITE 的值一方面表示了進程和內(nèi)核線程之間的總的讀寫帶寬,另一方面也表示內(nèi)核塊設備子系統(tǒng)的。

Actual DISK READActual DISK WRITE 的值表示在內(nèi)核塊設備子系統(tǒng)和下面硬件(HDD、SSD 等等)對應的實際磁盤 I/O 帶寬。

如何在 Linux 中安裝 iotop ?

我們可以輕松在包管理器的幫助下安裝,因為該軟件包在所有的 Linux 發(fā)行版?zhèn)}庫中都可以獲得。

對于 Fedora 系統(tǒng),使用 DNF 命令 來安裝 iotop。

$ sudo dnf install iotop

對于 Debian/Ubuntu 系統(tǒng),使用 API-GET 命令 或者 APT 命令 來安裝 iotop。

$ sudo apt install iotop

對于基于 Arch Linux 的系統(tǒng),使用 Pacman Command 來安裝 iotop。

$ sudo pacman -S iotop

對于 RHEL/CentOS 的系統(tǒng),使用 YUM Command 來安裝 iotop

$ sudo yum install iotop

對于使用 openSUSE Leap 的系統(tǒng),使用 Zypper Command 來安裝 iotop。

$ sudo zypper install iotop

在 Linux 中如何使用 iotop 命令來監(jiān)控磁盤 I/O 活動/統(tǒng)計?

iotop 命令有很多參數(shù)來檢查關于磁盤 I/O 的變化:

# iotop

怎么在Linux中如何使用iotop和iostat監(jiān)控磁盤I/O活動

10

如果你想檢查那個進程實際在做 I/O,那么運行 iotop 命令加上 -o 或者 --only 參數(shù)。

# iotop --only

怎么在Linux中如何使用iotop和iostat監(jiān)控磁盤I/O活動

11

細節(jié):

  • IO:它顯示每個進程的 I/O 利用率,包含磁盤和交換。

  • SWAPIN: 它只顯示每個進程的交換使用率。

什么是 iostat?

iostat 被用來報告中央處理單元(CPU)的統(tǒng)計和設備與分區(qū)的輸出/輸出的統(tǒng)計。

iostat 命令通過觀察與它們平均傳輸率相關的設備活躍時間來監(jiān)控系統(tǒng)輸入/輸出設備負載。

iostat 命令生成的報告可以被用來改變系統(tǒng)配置來更好的平衡物理磁盤之間的輸入/輸出負載。

所有的統(tǒng)計都在 iostat 命令每次運行時被報告。該報告包含一個 CPU 頭部,后面是一行 CPU 統(tǒng)計。

在多處理器系統(tǒng)中,CPU 統(tǒng)計被計算為系統(tǒng)層面的所有處理器的平均值。設備頭行后緊跟顯示每個配置的設備一行的統(tǒng)計。

iostat 命令生成兩種類型的報告,CPU 利用率報告和設備利用率報告。

在 Linux 中怎樣安裝 iostat?

iostat 工具是 sysstat 包的一部分,所以我們可以輕松地在包管理器地幫助下安裝,因為在所有的 Linux 發(fā)行版的倉庫都是可以獲得的。

對于 Fedora 系統(tǒng),使用 DNF Command 來安裝 sysstat。

$ sudo dnf install sysstat

對于 Debian/Ubuntu 系統(tǒng),使用 APT-GET Command 或者 APT Command 來安裝 sysstat。

$ sudo apt install sysstat

對于基于 Arch Linux 的系統(tǒng),使用 Pacman Command 來安裝 sysstat。

$ sudo pacman -S sysstat

對于 RHEL/CentOS 系統(tǒng),使用 YUM Command 來安裝 sysstat

$ sudo yum install sysstat

對于 openSUSE Leap 系統(tǒng),使用 Zypper Command 來安裝 sysstat。

$ sudo zypper install sysstat

在 Linux 中如何使用 sysstat 命令監(jiān)控磁盤 I/O 活動/統(tǒng)計?

iostat 命令中有很多參數(shù)來檢查關于 I/O 和 CPU 的變化統(tǒng)計信息。

不加參數(shù)運行 iostat 命令會看到完整的系統(tǒng)統(tǒng)計。

# iostat Linux 4.19.32-1-MANJARO (daygeek-Y700)  Thursday 18 April 2019  _x86_64_    (8 CPU) avg-cpu:  %user   %nice %system %iowait  %steal   %idle          29.45    0.02   16.47    0.12    0.00   53.94 Device             tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscdnvme0n1           6.68       126.95       124.97         0.00   58420014   57507206          0sda               0.18         6.77        80.24         0.00    3115036   36924764          0loop0             0.00         0.00         0.00         0.00       2160          0          0loop1             0.00         0.00         0.00         0.00       1093          0          0loop2             0.00         0.00         0.00         0.00       1077          0          0

運行 iostat 命令加上 -d 參數(shù)查看所有設備的 I/O 統(tǒng)計。

# iostat -d Linux 4.19.32-1-MANJARO (daygeek-Y700)  Thursday 18 April 2019  _x86_64_    (8 CPU) Device             tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscdnvme0n1           6.68       126.95       124.97         0.00   58420030   57509090          0sda               0.18         6.77        80.24         0.00    3115292   36924764          0loop0             0.00         0.00         0.00         0.00       2160          0          0loop1             0.00         0.00         0.00         0.00       1093          0          0loop2             0.00         0.00         0.00         0.00       1077          0          0

運行 iostat 命令加上 -p 參數(shù)查看所有的設備和分區(qū)的 I/O 統(tǒng)計。

# iostat -p Linux 4.19.32-1-MANJARO (daygeek-Y700)  Thursday 18 April 2019  _x86_64_    (8 CPU) avg-cpu:  %user   %nice %system %iowait  %steal   %idle          29.42    0.02   16.45    0.12    0.00   53.99 Device             tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscdnvme0n1           6.68       126.94       124.96         0.00   58420062   57512278          0nvme0n1p1         6.40       124.46       118.36         0.00   57279753   54474898          0nvme0n1p2         0.27         2.47         6.60         0.00    1138069    3037380          0sda               0.18         6.77        80.23         0.00    3116060   36924764          0sda1              0.00         0.01         0.00         0.00       3224          0          0sda2              0.18         6.76        80.23         0.00    3111508   36924764          0loop0             0.00         0.00         0.00         0.00       2160          0          0loop1             0.00         0.00         0.00         0.00       1093          0          0loop2             0.00         0.00         0.00         0.00       1077          0          0

運行 iostat 命令加上 -x 參數(shù)顯示所有設備的詳細的 I/O 統(tǒng)計信息。

# iostat -x Linux 4.19.32-1-MANJARO (daygeek-Y700)  Thursday 18 April 2019  _x86_64_    (8 CPU) avg-cpu:  %user   %nice %system %iowait  %steal   %idle          29.41    0.02   16.45    0.12    0.00   54.00 Device            r/s     rkB/s   rrqm/s  %rrqm r_await rareq-sz     w/s     wkB/s   wrqm/s  %wrqm w_await wareq-sz     d/s     dkB/s   drqm/s  %drqm d_await dareq-sz  aqu-sz  %utilnvme0n1          2.45    126.93     0.60  19.74    0.40    51.74    4.23    124.96     5.12  54.76    3.16    29.54    0.00      0.00     0.00   0.00    0.00     0.00    0.31  30.28sda              0.06      6.77     0.00   0.00    8.34   119.20    0.12     80.23    19.94  99.40   31.84   670.73    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.13loop0            0.00      0.00     0.00   0.00    0.08    19.64    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00loop1            0.00      0.00     0.00   0.00    0.40    12.86    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00loop2            0.00      0.00     0.00   0.00    0.38    19.58    0.00      0.00     0.00   0.00    0.00     0.00    0.00      0.00     0.00   0.00    0.00     0.00    0.00   0.00

運行 iostat 命令加上 -d [設備名] 參數(shù)查看具體設備和它的分區(qū)的 I/O 統(tǒng)計信息。

# iostat -p [Device_Name] # iostat -p sda Linux 4.19.32-1-MANJARO (daygeek-Y700)  Thursday 18 April 2019  _x86_64_    (8 CPU) avg-cpu:  %user   %nice %system %iowait  %steal   %idle          29.38    0.02   16.43    0.12    0.00   54.05 Device             tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscdsda               0.18         6.77        80.21         0.00    3117468   36924764          0sda2              0.18         6.76        80.21         0.00    3112916   36924764          0sda1              0.00         0.01         0.00         0.00       3224          0          0

運行 iostat 命令加上 -m 參數(shù)以 MB 為單位而不是 KB 查看所有設備的統(tǒng)計。默認以 KB 顯示輸出。

# iostat -m Linux 4.19.32-1-MANJARO (daygeek-Y700)  Thursday 18 April 2019  _x86_64_    (8 CPU) avg-cpu:  %user   %nice %system %iowait  %steal   %idle          29.36    0.02   16.41    0.12    0.00   54.09 Device             tps    MB_read/s    MB_wrtn/s    MB_dscd/s    MB_read    MB_wrtn    MB_dscdnvme0n1           6.68         0.12         0.12         0.00      57050      56176          0sda               0.18         0.01         0.08         0.00       3045      36059          0loop0             0.00         0.00         0.00         0.00          2          0          0loop1             0.00         0.00         0.00         0.00          1          0          0loop2             0.00         0.00         0.00         0.00          1          0          0

運行 iostat 命令使用特定的間隔使用如下的格式。在這個例子中,我們打算以 5 秒捕獲的間隔捕獲兩個報告。

# iostat [Interval] [Number Of Reports] # iostat 5 2 Linux 4.19.32-1-MANJARO (daygeek-Y700)  Thursday 18 April 2019  _x86_64_    (8 CPU) avg-cpu:  %user   %nice %system %iowait  %steal   %idle          29.35    0.02   16.41    0.12    0.00   54.10 Device             tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscdnvme0n1           6.68       126.89       124.95         0.00   58420116   57525344          0sda               0.18         6.77        80.20         0.00    3118492   36924764          0loop0             0.00         0.00         0.00         0.00       2160          0          0loop1             0.00         0.00         0.00         0.00       1093          0          0loop2             0.00         0.00         0.00         0.00       1077          0          0 avg-cpu:  %user   %nice %system %iowait  %steal   %idle           3.71    0.00    2.51    0.05    0.00   93.73 Device             tps    kB_read/s    kB_wrtn/s    kB_dscd/s    kB_read    kB_wrtn    kB_dscdnvme0n1          19.00         0.20       311.40         0.00          1       1557          0sda               0.20        25.60         0.00         0.00        128          0          0loop0             0.00         0.00         0.00         0.00          0          0          0loop1             0.00         0.00         0.00         0.00          0          0          0loop2             0.00         0.00         0.00         0.00          0          0          0

運行 iostat 命令與 -N 參數(shù)來查看 LVM 磁盤 I/O 統(tǒng)計報告。

# iostat -N Linux 4.15.0-47-generic (Ubuntu18.2daygeek.com)     Thursday 18 April 2019  _x86_64_    (2 CPU) avg-cpu:  %user   %nice %system %iowait  %steal   %idle           0.38    0.07    0.18    0.26    0.00   99.12 Device             tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtnsda               3.60        57.07        69.06     968729    1172340sdb               0.02         0.33         0.00       5680          0sdc               0.01         0.12         0.00       2108          02g-2gvol1         0.00         0.07         0.00       1204          0

運行 nfsiostat 命令來查看 Network File System(NFS)的 I/O 統(tǒng)計。

# nfsiostat

“怎么在Linux中如何使用iotop和iostat監(jiān)控磁盤I/O活動”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI