如何在Linux下监控磁盘IO?

译文
系统 Linux
iostat用于获取存储设备和分区的I/O统计信息。iostat是sysstat软件包的一部分。使用iostat,你可以监控存储设备(比如硬驱和SSD)以及分区(磁盘分区)的读/写速度。本文将介绍如何在Linux下使用iostat监控磁盘I/O。

【51CTO.com快译】iostat用于获取存储设备和分区的I/O统计信息。iostat是sysstat软件包的一部分。使用iostat,你可以监控存储设备(比如硬驱和SSD)以及分区(磁盘分区)的读/写速度。本文将介绍如何在Linux下使用iostat监控磁盘I/O。

在Ubuntu/Debian上安装iostat:

默认情况下,iostat命令在Ubuntu/Debian上不可用。但你可以使用APT软件包管理器,从Ubuntu/Debian的官方软件包存储库轻松安装sysstat包。正如前面提到,iostat是sysstat软件包的一部分。

先使用以下命令更新APT软件包存储库的缓存: 

  1. $ sudo apt update 

如何在Linux下监控磁盘IO?

现在使用以下命令安装sysstat软件包:

  1. $ sudo apt install sysstat 

sysstat软件包应已安装。

在CentOS 7上安装iostat:

默认情况下,iostat在CentOS 7上不可用。但sysstat软件包可在CentOS 7的官方软件包存储库中找到。因此,你可以用YUM软件包管理器轻松安装它。

想使用YUM软件包管理器安装sysstat,运行以下命令:

  1. $ sudo yum install sysstat 

现在,按y然后按回车键继续。

现在,按y然后按回车键,接受CentOS 7软件包存储库的GPG密钥。

sysstat应已安装。

在Arch Linux上安装iostat:

默认情况下,iostat在Arch Linux上不可用。但sysstat软件包可在Arch Linux的官方软件包存储库中找到。因此,你可以用Pacman软件包管理器轻松安装它。

想安装sysstat,运行以下命令:

  1. $ sudo pacman -Sy sysstat 

现在,按y然后按回车键继续。

sysstat应已安装。

iostat的基本用法:

你可以使用iostat监控计算机的所有存储设备和磁盘分区,如下所示:

  1. $ sudo iostat 

如你所见,iostat生成了当时每个存储设备和分区的读/写速度(以kB/s为单位)和总的读/写内容(以kB为单位)。

在上述命令中,iostat仅输出你运行iostat的实例的统计信息。这适用于外壳脚本和自动化。

如果你想查看实时统计信息,可以要求iostat每隔n秒(比如说2秒)更新报告,如下所示:

  1. $ sudo iostat -d 2 

如你所见,iostat每隔2秒更新一次报告。

使用iostat监控特定的存储设备或分区:

默认情况下,iostat监控计算机的所有存储设备。但你也可以使用iostat监控特定的存储设备(比如sda和sdb等)或特定的分区(比如sda1、sda2和sdb4等)。

比如,若想只监控存储设备sda,按以下方式运行iostat:

  1. $ sudo iostat sda 

  1. $ sudo iostat -d 2 sda 

如你所见,仅监控存储设备sda。

你还可以使用iostat监控多个存储设备。

比如想监控存储设备sda和sdb,按以下方式运行iostat:

  1. $ sudo iostat sda sdb 

  1. $ sudo iostat -d 2 sda sdb 

如果你想监控特定分区,还可以这么做。

比如假设你想监控分区sda1和sda2,按以下方式运行iostat:

  1. $ sudo iostat sda1 sda2 

  1. $ sudo iostat -d 2 sda1 sda2 

如你所见,只监控分区sda1和sda2。

使用iostat监控LVM设备:

你可以使用iostat的-N选项监控计算机的LVM设备。

想监控Linux机器的LVM设备,按以下方式运行iostat:

  1. $ sudo iostat -N -d 2 

你还可以监控特定的LVM逻辑卷。

比如想监控LVM逻辑卷centos-root,按以下方式运行iostat:

  1. $ sudo iostat -N -d 2 centos-root 

更改iostat的单位:

默认情况下,iostat以千字节(kB)为单位生成报告。但你可以使用一些选项更改单位。

比如说将单位改成兆字节(MB),使用iostat的-m选项。

还可以使用iostat的-h选项将单位改成人类可读。人类可读格式可根据可用数据,自动选择合适的单位。

想把单位改成兆字节,按以下方式运行iostat:

  1. $ sudo iostat -m -d 2 sda 

想把单位改成人类可读格式,按以下方式运行iostat:

  1. $ sudo iostat -h -d 2 sda 

我拷贝文件,你可以看到,现在以兆字节(MB)为单位。

一旦文件拷贝结束,它立即变成千字节(kB)。

iostat的扩展显示:

如果需要,可以用iostat显示有关磁盘I/O的更多信息。为此,使用iostat的-x选项。

比如说,想显示有关磁盘I/O的扩展信息,按以下方式运行iostat:

  1. $ sudo iostat -x -d 2 sda 

你可以在iostat的参考手册页中找到每个字段(rrqm/s和%wrqm等)的含义。

 

获得帮助:

如果你需要有关iostat支持的每个选项的更多信息以及iostat的每个字段的含义,建议查看iostat的参考手册页。

你可以使用以下命令查看iostat的参考手册页:

  1. $ man iostat 

这就是你在Linux中使用iostat的方式。感谢阅读本文。

原文标题:How to Monitor Disk IO in Linux,作者:Shahriar Shovon

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

责任编辑:庞桂玉 来源: 51CTO
相关推荐

2011-09-02 10:29:30

脚本Linuxperl

2018-09-10 10:20:26

磁盘 IO网络 IO监控

2019-03-28 09:25:51

Linux磁盘命令

2018-07-10 09:00:00

Linuxdd工具磁盘

2015-09-25 15:57:09

磁盘碎片整理Linux

2015-09-28 10:12:21

Linux磁盘碎片

2023-10-19 11:27:22

Linux记账工具

2011-11-08 21:51:43

Linux 监控 IO

2010-12-22 13:17:47

Linux性能监测磁盘IO

2011-03-09 15:54:34

LAMP

2021-06-21 11:11:29

LinuxIO磁盘IO

2014-12-23 09:37:09

Linuxrsync

2016-08-16 08:26:19

Linuxsignalsigaction

2017-01-05 12:21:00

LinuxPyCharm安装

2021-08-30 13:08:54

Linux实时监控日志文件

2018-05-04 09:32:32

Linux快速监控rwho

2017-05-08 18:10:54

2017-08-07 16:41:39

LinuxOpenCV

2014-03-20 10:31:02

Linuxbin

2015-11-24 13:27:35

Linuxcool-retro-复古终端
点赞
收藏

51CTO技术栈公众号