linux 查看共享磁盘_用于检测查看磁盘活动的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

69db46f98a823d0b436a0841f19a5e60.png

在-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

b8126f54b4d1663d49711f136d4b7637.png

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

550f98b55938a07ff7239a3179210003.png

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

iostat

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

da92471be58436310d8e7e0bb2a43dfd.png

当然,当您只想专注于磁盘时,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

52e66140d12b9115fb69c3a6cd244a19.png

请注意,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

11e38d7925d33aea8a120bf4b8dbedce.png

如果您希望省略第一个(启动后的统计信息)报告,请在命令中添加-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

167744e96de49e000eb25d285167b6ef.png

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

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]

6e3f04b448e8b0c62095fbcd4b17cd5e.png

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% |

2ea3002c60ec7f89fb22e9f8f47a40e2.png

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

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 |

6ac9c48a05b3794cdd1a63b2abb3a415.png

了解磁盘I/O

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

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

本文永久更新链接地址:https://www.linuxidc.com/Linux/2018-12/156091.htm

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值