用于检测查看磁盘活动的Linux命令

Posted Linux公社

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于检测查看磁盘活动的Linux命令相关的知识,希望对你有一定的参考价值。

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

用于检测查看磁盘活动的Linux命令

注意,报告的数据可以以许多不同的单位显示 - 例如,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

用于检测查看磁盘活动的Linux命令

dstat命令提供了对整体Linux系统性能的宝贵见解,几乎用一组结合其功能的灵活而强大的命令取代了vmstat,netstat,iostat和ifstat等旧工具的集合。 有关dstat命令可以提供的其他信息的更多信息,请参阅dstat命令上的这篇文章。

iostat

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

用于检测查看磁盘活动的Linux命令

当然,当您只想专注于磁盘时,Linux环路设备上提供的所有统计信息都会使显示混乱。 但是,该命令提供了-p选项,允许您只查看磁盘 - 如下面的命令所示。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社$ iostat -p sda
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.12    2.00    0.17    0.00  92.95

Device            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              16.59      322.89      310.22    3942493    3787784
sda1            16.58      322.64      310.22    3939409    3787784

用于检测查看磁盘活动的Linux命令

请注意,tps指的是每秒传输次数。

您也可以通过iostat提供重复报告。 在下面的示例中,我们使用-d选项每五秒进行一次测量。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社$ iostat -p sda -d 5
Linux 4.20.0-042000-generic (linuxidc)  2018年12月29日  _x86_64_ (1 CPU)

Device            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              16.55      321.79      309.15    3944097    3789224
sda1            16.54      321.54      309.15    3941013    3789224

用于检测查看磁盘活动的Linux命令

如果您希望省略第一个(启动后的统计信息)报告,请在命令中添加-y。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社$ iostat -p sda -d 5 -y
Linux 4.20.0-042000-generic (linuxidc)  2018年12月29日  _x86_64_ (1 CPU)

Device            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda              0.64        0.00        10.19          0        48
sda1              0.64        0.00        10.19          0        48

用于检测查看磁盘活动的Linux命令

如果是两个磁盘,可以看看第二个磁盘驱动器,命令如下:

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社$ iostat -p sdb

iotop

iotop命令是用于查看磁盘I/O的顶级实用程序。 它收集Linux内核提供的I/O使用信息,以便您了解哪些进程在磁盘I/O方面最苛刻。 在下面的示例中,循环时间已设置为5秒。 显示屏将自动更新,覆盖以前的输出。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社$ sudo iotop -d 5

Total DISK READ :      0.00 B/s | Total DISK WRITE :      3.18 K/s
Actual DISK READ:      0.00 B/s | Actual DISK WRITE:      7.95 K/s
  TID  PRIO  USER    DISK READ  DISK WRITE  SWAPIN    IO>    COMMAND       
  389 be/3 root        0.00 B/s    3.18 K/s  0.00 %  0.01 % [jbd2/sda1-8]
    1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % init splash
    2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
    3 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_gp]
    4 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rcu_par_gp]
    6 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/~-kblockd]
    8 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [mm_percpu_wq]
    9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]

用于检测查看磁盘活动的Linux命令

ioping

ioping命令是一种完全不同类型的工具,但它可以报告磁盘延迟 - 磁盘响应请求所需的时间 - 并且可以帮助诊断磁盘问题。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社$ sudo ioping /dev/sda1
[sudo] linuxidc 的密码:
4 KiB <<< /dev/sda1 (block device 30.0 GiB): request=1 time=937.0 us (warmup)
4 KiB <<< /dev/sda1 (block device 30.0 GiB): request=2 time=5.90 ms

atop

atop命令和top一样,提供了很多关于系统性能的信息,包括一些关于磁盘活动的统计信息。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社$ atop

ATOP - linuxidc      2018/12/29  13:57:54      --------------        10s elapsed
PRC | sys    2.05s | user  1.93s | #proc    337 | #zombie    1 | #exit    12 |
CPU | sys      9% | user    22% | irq      0% | idle    68% | wait      0% |

如果您只想查看磁盘统计信息,可以使用以下命令轻松管理:

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社$ atop | grep DSK
DSK |          sda | busy    100% | read  163221 | write  43826 | avio 63.9 ms |
DSK |          sda | busy    86% | read      12 | write    77 | avio 93.7 ms |
DSK |          sda | busy    104% | read      3 | write    40 | avio  231 ms |
DSK |          sda | busy    108% | read    110 | write    306 | avio 21.7 ms |

了解磁盘I/O

Linux提供了足够的命令,可以让您深入了解磁盘运行的难度,并帮助您专注于潜在的问题或减速。 希望其中一个命令可以告诉您在询问磁盘性能时需要知道的内容。 偶尔使用这些命令有助于确保在需要检查时特别忙或慢的磁盘是显而易见的。

更多Linux命令相关信息见Linux命令大全 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=16
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

以上是关于用于检测查看磁盘活动的Linux命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux命令行查看内存

linux中查看硬盘分区信息的命令是啥?

linux下查看磁盘空间占用

Linux命令(27):df&du命令-磁盘空间查看

linux中辅助的一些命令

如何使用linux 命令查看硬盘