Linux系统提供了一套方便的命令,可以帮助您查看磁盘的繁忙程度,而不仅仅是有多满。 在这篇文章中,我们将研究五个非常有用的命令来查看磁盘活动。 可能必须将两个命令(iostat和ioping)添加到您的系统中,这两个命令要求您使用sudo权限,但所有五个命令都提供了查看磁盘活动的有用方法。
可能这些命令中最容易和最明显的一个是dstat。
dstat尽管dstat命令以字母“d”开头,但它提供的数据不仅仅是磁盘活动。 如果要仅查看磁盘活动,可以使用-d选项。 如下所示,您将获得连续的磁盘读/写测量列表,直到您使用^ c停止显示。 请注意,在第一个报告之后,显示中的每个后续行将在以下时间间隔内报告磁盘活动,默认值仅为一秒。
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社$ dstat -d
-dsk/total-
read writ
346k 307k
0 0
0 0
0 44k
520k 0
128k 324k
244k 0
924k 376k
256k 0
在-d选项后面加一个数字会将间隔设置为该秒数。
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社$ dstat -d 10
-dsk/total-
read writ
344k 306k
7782B 2048B
354k 300k
4096B 98k
2458B 9421B
9557B 132k
注意,报告的数据可以以许多不同的单位显示 - 例如,M(兆字节),k(千字节)和B(字节)。
如果没有选项,dstat命令也会向您显示许多其他信息 - 指示CPU如何花费时间,显示网络和分页活动,以及报告中断和上下文切换。
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社$ dstat
You did not select any stats, using -cdngy by default.
--total-cpu-usage-- -dsk/total- -net/total- ---paging-- ---system--
usr sys idl wai stl| read writ| recv send| in out | int csw
5 2 93 0 0| 341k 303k| 0 0 |6755B 41k| 140 548
3 1 96 0 0| 0 0 | 0 0 | 0 0 | 202 731
5 3 91 1 0| 0 48k| 0 0 | 0 0 | 262 782
31 9 60 0 0| 0 0 | 0 0 | 0 0 | 555 1882
41 13 44 3 0|6600k 0 | 0 0 | 0 0 | 444 2309
73 23 0 3 0|6408k 716k| 0 0 | 0 0 | 787 2629
dstat命令提供了对整体Linux系统性能的宝贵见解,几乎用一组结合其功能的灵活而强大的命令取代了vmstat,netstat,iostat和ifstat等旧工具的集合。 有关dstat命令可以提供的其他信息的更多信息,请参阅dstat命令上的这篇文章。
iostatiostat命令通过观察设备相对于其平均传输速率的活动时间来帮助监视系统输入/输出设备负载。 它有时用于评估磁盘之间的活动平衡。
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社$ iostat
Linux 4.20.0-042000-generic (linuxidc) 2018年12月29日 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
4.76 0.10 2.00 0.17 0.00 92.97
Device tps kB_read/s kB_wrtn/s kB_read kB_wrtn
loop0 0.01 0.06 0.00 680 0
loop1 0.03 0.19 0.00 2291 0
loop2 0.01 0.02 0.00 219 0
loop3 0.04 0.18 0.00 2215 0
loop4 0.04 0.19 0.00 2256 0
loop5 0.01 0.02 0.00 220 0
loop6 0.01 0.02 0.00 228 0