自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

系統(tǒng) Linux
你知道在 Linux 中我們使用什么工具檢修和監(jiān)控實(shí)時(shí)的磁盤活動(dòng)嗎?如果 Linux 系統(tǒng)性能變慢,我們會(huì)用 top 命令 來(lái)查看系統(tǒng)性能。它被用來(lái)檢查是什么進(jìn)程在服務(wù)器上占有如此高的使用率,對(duì)于大多數(shù) Linux 系統(tǒng)管理員來(lái)說(shuō)很常見(jiàn),現(xiàn)實(shí)世界中被 Linux 系統(tǒng)管理員廣泛采用。

[[264326]]

 你知道在 Linux 中我們使用什么工具檢修和監(jiān)控實(shí)時(shí)的磁盤活動(dòng)嗎?如果 Linux 系統(tǒng)性能變慢,我們會(huì)用 top 命令 來(lái)查看系統(tǒng)性能。它被用來(lái)檢查是什么進(jìn)程在服務(wù)器上占有如此高的使用率,對(duì)于大多數(shù) Linux 系統(tǒng)管理員來(lái)說(shuō)很常見(jiàn),現(xiàn)實(shí)世界中被 Linux 系統(tǒng)管理員廣泛采用。

如果在進(jìn)程輸出中你沒(méi)有看到很大的不同,你仍然有選擇查看其他東西。我會(huì)建議你在 top 輸出中檢查 wa 狀態(tài),因?yàn)榇蠖鄶?shù)時(shí)間里服務(wù)器性能由于在硬盤上的高 I/O 讀和寫降低了性能。如果它很高或者波動(dòng),很可能就是它造成的。因此,我們需要檢查硬盤上的 I/O 活動(dòng)。

我們可以在 Linux 中使用 iotopiostat 命令監(jiān)控所有的磁盤和文件系統(tǒng)的磁盤 I/O 統(tǒng)計(jì)。

什么是 iotop?

iotop 是一個(gè)類似 top 的工具,用來(lái)顯示實(shí)時(shí)的磁盤活動(dòng)。

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

它顯示每個(gè)進(jìn)程/線程讀寫 I/O 帶寬。它同樣顯示當(dāng)?shù)却龘Q入和等待 I/O 的線程/進(jìn)程花費(fèi)的時(shí)間的百分比。

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

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

如何在 Linux 中安裝 iotop ?

我們可以輕松在包管理器的幫助下安裝,因?yàn)樵撥浖谒械?Linux 發(fā)行版?zhèn)}庫(kù)中都可以獲得。

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

  1. $ sudo dnf install iotop

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

  1. $ sudo apt install iotop

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

  1. $ sudo pacman -S iotop

對(duì)于 RHEL/CentOS 的系統(tǒng),使用 YUM Command 來(lái)安裝 iotop。

  1. $ sudo yum install iotop

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

  1. $ sudo zypper install iotop

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

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

  1. # iotop

10

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

  1. # iotop --only

11

細(xì)節(jié):

  • IO:它顯示每個(gè)進(jìn)程的 I/O 利用率,包含磁盤和交換。
  • SWAPIN: 它只顯示每個(gè)進(jìn)程的交換使用率。

什么是 iostat?

iostat 被用來(lái)報(bào)告中央處理單元(CPU)的統(tǒng)計(jì)和設(shè)備與分區(qū)的輸出/輸出的統(tǒng)計(jì)。

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

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

所有的統(tǒng)計(jì)都在 iostat 命令每次運(yùn)行時(shí)被報(bào)告。該報(bào)告包含一個(gè) CPU 頭部,后面是一行 CPU 統(tǒng)計(jì)。

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

iostat 命令生成兩種類型的報(bào)告,CPU 利用率報(bào)告和設(shè)備利用率報(bào)告。

在 Linux 中怎樣安裝 iostat?

iostat 工具是 sysstat 包的一部分,所以我們可以輕松地在包管理器地幫助下安裝,因?yàn)樵谒械?Linux 發(fā)行版的倉(cāng)庫(kù)都是可以獲得的。

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

  1. $ sudo dnf install sysstat

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

  1. $ sudo apt install sysstat

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

  1. $ sudo pacman -S sysstat

對(duì)于 RHEL/CentOS 系統(tǒng),使用 YUM Command 來(lái)安裝 sysstat。

  1. $ sudo yum install sysstat

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

  1. $ sudo zypper install sysstat

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

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

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

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

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

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

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

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

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

  1. # iostat -x
  2.  
  3. Linux 4.19.32-1-MANJARO (daygeek-Y700) Thursday 18 April 2019 _x86_64_ (8 CPU)
  4.  
  5. avg-cpu: %user %nice %system %iowait %steal %idle
  6. 29.41 0.02 16.45 0.12 0.00 54.00
  7.  
  8. 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 %util
  9. nvme0n1 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.28
  10. sda 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.13
  11. loop0 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.00
  12. loop1 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.00
  13. loop2 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

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

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

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

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

運(yùn)行 iostat 命令使用特定的間隔使用如下的格式。在這個(gè)例子中,我們打算以 5 秒捕獲的間隔捕獲兩個(gè)報(bào)告。

  1. # iostat [Interval] [Number Of Reports]
  2.  
  3. # iostat 5 2
  4.  
  5. Linux 4.19.32-1-MANJARO (daygeek-Y700) Thursday 18 April 2019 _x86_64_ (8 CPU)
  6.  
  7. avg-cpu: %user %nice %system %iowait %steal %idle
  8. 29.35 0.02 16.41 0.12 0.00 54.10
  9.  
  10. Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
  11. nvme0n1 6.68 126.89 124.95 0.00 58420116 57525344 0
  12. sda 0.18 6.77 80.20 0.00 3118492 36924764 0
  13. loop0 0.00 0.00 0.00 0.00 2160 0 0
  14. loop1 0.00 0.00 0.00 0.00 1093 0 0
  15. loop2 0.00 0.00 0.00 0.00 1077 0 0
  16.  
  17. avg-cpu: %user %nice %system %iowait %steal %idle
  18. 3.71 0.00 2.51 0.05 0.00 93.73
  19.  
  20. Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
  21. nvme0n1 19.00 0.20 311.40 0.00 1 1557 0
  22. sda 0.20 25.60 0.00 0.00 128 0 0
  23. loop0 0.00 0.00 0.00 0.00 0 0 0
  24. loop1 0.00 0.00 0.00 0.00 0 0 0
  25. loop2 0.00 0.00 0.00 0.00 0 0 0

運(yùn)行 iostat 命令與 -N 參數(shù)來(lái)查看 LVM 磁盤 I/O 統(tǒng)計(jì)報(bào)告。

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

運(yùn)行 nfsiostat 命令來(lái)查看 Network File System(NFS)的 I/O 統(tǒng)計(jì)。

  1. # nfsiostat
責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2010-06-25 09:47:29

Linux系統(tǒng)監(jiān)控

2022-04-23 16:30:22

Linux磁盤性能

2024-10-17 16:47:05

磁盤I/O計(jì)算機(jī)

2019-02-25 08:40:28

Linux磁盤IO

2021-03-05 11:35:39

Linux 命令工具

2023-10-19 11:27:22

Linux記賬工具

2014-07-28 16:47:41

linux性能

2017-03-25 21:33:33

Linux調(diào)度器

2011-03-29 16:14:04

Cacti硬盤監(jiān)控

2019-03-28 08:00:00

Linux磁盤IO監(jiān)控存儲(chǔ)設(shè)備

2020-12-07 14:20:35

Linux磁盤工具

2009-05-14 10:16:36

Oracle優(yōu)化磁盤

2011-01-14 09:25:28

LinuxIO機(jī)制

2011-03-28 17:18:57

nagios監(jiān)控iostat

2020-06-03 17:30:42

LinuxIO

2010-10-12 16:26:44

2025-03-07 10:14:03

2017-02-09 09:00:14

Linux IO調(diào)度器

2011-02-25 09:16:00

SQLSQL Server IO

2017-01-19 19:14:20

Linux重定向命令
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)