本篇內容介紹了“怎么在Linux中如何使用iotop和iostat監控磁盤(pán)I/O活動(dòng)”的有關(guān)知識,在實(shí)際案例的操作過(guò)程中,不少人都會(huì )遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學(xué)有所成!
iotop
是一個(gè)類(lèi)似 top
的工具,用來(lái)顯示實(shí)時(shí)的磁盤(pán)活動(dòng)。
iotop
監控 Linux 內核輸出的 I/O 使用信息,并且顯示一個(gè)系統中進(jìn)程或線(xiàn)程的當前 I/O 使用情況。
它顯示每個(gè)進(jìn)程/線(xiàn)程讀寫(xiě) I/O 帶寬。它同樣顯示當等待換入和等待 I/O 的線(xiàn)程/進(jìn)程花費的時(shí)間的百分比。
Total DISK READ
和 Total DISK WRITE
的值一方面表示了進(jìn)程和內核線(xiàn)程之間的總的讀寫(xiě)帶寬,另一方面也表示內核塊設備子系統的。
Actual DISK READ
和 Actual DISK WRITE
的值表示在內核塊設備子系統和下面硬件(HDD、SSD 等等)對應的實(shí)際磁盤(pán) I/O 帶寬。
我們可以輕松在包管理器的幫助下安裝,因為該軟件包在所有的 Linux 發(fā)行版倉庫中都可以獲得。
對于 Fedora 系統,使用 DNF 命令 來(lái)安裝 iotop
。
$ sudo dnf install iotop
對于 Debian/Ubuntu 系統,使用 API-GET 命令 或者 APT 命令 來(lái)安裝 iotop
。
$ sudo apt install iotop
對于基于 Arch Linux 的系統,使用 Pacman Command 來(lái)安裝 iotop
。
$ sudo pacman -S iotop
對于 RHEL/CentOS 的系統,使用 YUM Command 來(lái)安裝 iotop
。
$ sudo yum install iotop
對于使用 openSUSE Leap 的系統,使用 Zypper Command 來(lái)安裝 iotop
。
$ sudo zypper install iotop
iotop
命令有很多參數來(lái)檢查關(guān)于磁盤(pán) I/O 的變化:
# iotop
10
如果你想檢查那個(gè)進(jìn)程實(shí)際在做 I/O,那么運行 iotop
命令加上 -o
或者 --only
參數。
# iotop --only
11
細節:
IO
:它顯示每個(gè)進(jìn)程的 I/O 利用率,包含磁盤(pán)和交換。
SWAPIN
: 它只顯示每個(gè)進(jìn)程的交換使用率。
iostat
被用來(lái)報告中央處理單元(CPU)的統計和設備與分區的輸出/輸出的統計。
iostat
命令通過(guò)觀(guān)察與它們平均傳輸率相關(guān)的設備活躍時(shí)間來(lái)監控系統輸入/輸出設備負載。
iostat
命令生成的報告可以被用來(lái)改變系統配置來(lái)更好的平衡物理磁盤(pán)之間的輸入/輸出負載。
所有的統計都在 iostat
命令每次運行時(shí)被報告。該報告包含一個(gè) CPU 頭部,后面是一行 CPU 統計。
在多處理器系統中,CPU 統計被計算為系統層面的所有處理器的平均值。設備頭行后緊跟顯示每個(gè)配置的設備一行的統計。
iostat
命令生成兩種類(lèi)型的報告,CPU 利用率報告和設備利用率報告。
iostat
工具是 sysstat
包的一部分,所以我們可以輕松地在包管理器地幫助下安裝,因為在所有的 Linux 發(fā)行版的倉庫都是可以獲得的。
對于 Fedora 系統,使用 DNF Command 來(lái)安裝 sysstat
。
$ sudo dnf install sysstat
對于 Debian/Ubuntu 系統,使用 APT-GET Command 或者 APT Command 來(lái)安裝 sysstat
。
$ sudo apt install sysstat
對于基于 Arch Linux 的系統,使用 Pacman Command 來(lái)安裝 sysstat
。
$ sudo pacman -S sysstat
對于 RHEL/CentOS 系統,使用 YUM Command 來(lái)安裝 sysstat
。
$ sudo yum install sysstat
對于 openSUSE Leap 系統,使用 Zypper Command 來(lái)安裝 sysstat
。
$ sudo zypper install sysstat
在 iostat
命令中有很多參數來(lái)檢查關(guān)于 I/O 和 CPU 的變化統計信息。
不加參數運行 iostat
命令會(huì )看到完整的系統統計。
# 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_dsvme0n1 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
參數查看所有設備的 I/O 統計。
# 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
參數查看所有的設備和分區的 I/O 統計。
# 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
參數顯示所有設備的詳細的 I/O 統計信息。
# 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 [設備名]
參數查看具體設備和它的分區的 I/O 統計信息。
# 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
參數以 MB 為單位而不是 KB 查看所有設備的統計。默認以 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
命令使用特定的間隔使用如下的格式。在這個(gè)例子中,我們打算以 5 秒捕獲的間隔捕獲兩個(gè)報告。
# 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
參數來(lái)查看 LVM 磁盤(pán) I/O 統計報告。
# 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
命令來(lái)查看 Network File System(NFS)的 I/O 統計。
# nfsiostat
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。
Copyright ? 2009-2022 56dr.com. All Rights Reserved. 特網(wǎng)科技 特網(wǎng)云 版權所有 特網(wǎng)科技 粵ICP備16109289號
域名注冊服務(wù)機構:阿里云計算有限公司(萬(wàn)網(wǎng)) 域名服務(wù)機構:煙臺帝思普網(wǎng)絡(luò )科技有限公司(DNSPod) CDN服務(wù):阿里云計算有限公司 百度云 中國互聯(lián)網(wǎng)舉報中心 增值電信業(yè)務(wù)經(jīng)營(yíng)許可證B2
建議您使用Chrome、Firefox、Edge、IE10及以上版本和360等主流瀏覽器瀏覽本網(wǎng)站