Linux 系统中监控磁盘IO性能的6个命令

guiyun affiliate

磁盘 IO 问题(输入/输出)是 Linux 系统性能不佳的最常见原因之一。

当应用程序试图在硬盘驱动器、SAN 和 NAS 等存储设备上快速读取或写入过多数据时,就会发生这种情况,这会迫使应用程序和用户等待。

top 命令可用于查看 CPU 是否正在等待磁盘操作完成。该'wa' 指标显示 IO-wait,这是 CPU 等待 IO 完成所花费的时间,以百分比形式显示。

在本指南中,我们将解释如何使用各种 Linux 命令来识别磁盘 IO 性能问题。

在 Linux 上进行故障排除或监控实时磁盘活动时,以下六个命令最有用。

  • iotop   

  • iostat   

  • vmstat  

  • atop

  • dstat

  • ioping


1、 iotop 命令

iotop是一个类似于 top 的实用程序,用于显示实时磁盘 I/O 性能,它实际上显示执行 I/O 的进程列表。运行带有'--only or -o'选项的 iotop 命令以查看磁盘 I/O 活动,如下所示:

Linux 系统中监控磁盘IO性能的6个命令  第1张


2、 iostat  命令

iostat 命令用于监控设备和分区的系统输入/输出统计信息。它通过观察设备活动时间与其平均传输速率的关系来监控系统 I/O。

参数:

x : 显示更详细的统计信息。

d :仅显示设备报告。

m :以 MB 为单位显示统计信息。


# iostat -dxm

Linux 系统中监控磁盘IO性能的6个命令  第2张


3、 vmstat  命令

vmstat 命令代表虚拟内存统计信息。它是一个性能监控命令,除了提供内存之外,它还提供有关块 IO 和 CPU 活动的信息。


参数:

  • d : 只显示磁盘统计信息

  • Time Interval (1) : 统计将每秒钟重新测量和报告

  • Count Value (5) : 统计会在退出前上报五次。

# vmstat -d 1 5

Linux 系统中监控磁盘IO性能的6个命令  第3张


4、 atop  命令

atop 命令是另一个性能监控工具,能够报告 Linux 系统上所有进程的活动(即使进程在间隔期间完成)。


# atop |grep DSK

Linux 系统中监控磁盘IO性能的6个命令  第4张


5、 dstat 命令

dstat 命令是另一个方便的工具,用于在性能调整测试、基准测试或故障排除期间监控系统。它克服了其他工具的一些限制,并添加了一些额外的功能、更多的计数器和灵活性。

# dstat --disk --io

Linux 系统中监控磁盘IO性能的6个命令  第5张


还可以指定盘符:

# dstat --disk --io -D vda

Linux 系统中监控磁盘IO性能的6个命令  第6张


6、ioping  命令

ioping用于实时监控 I/O 速度和延迟,而 ping 命令显示网络延迟。这个简单的实用程序让您了解磁盘响应请求需要多长时间。

# ioping /dev/oldmem -c4

Linux 系统中监控磁盘IO性能的6个命令  第7张



guiyun affiliate

标签: Linux

作者头像
南宫俊逸创始人

君子好学,自强不息~

上一篇:Shell 脚本监控Linux系统(CPU,内存,交换内存使用情况),并通过邮件告警。
下一篇:Linux 中怎么使用 ss 和 netstat 命令检查 Apache 的并发连接数。

发表评论

腾讯-云服务器2核4G,首年70元