云网牛站
所在位置:首页 > Linux命令 > 在Linux中安装和使用iotop和iostat命令监视磁盘I/O活动的方法

在Linux中安装和使用iotop和iostat命令监视磁盘I/O活动的方法

2019-04-20 09:39:59作者:连一续稿源:云网牛站

您知道我们可以使用哪些工具来排除或监控Linux中的实时磁盘活动吗?如果Linux系统性能变慢,我们可以使用top命令查看系统性能。想建议您检查顶部输出中的wa状态,因为大多数时候服务器性能会因硬盘上的高I/O读写而降低,如果它很高或波动,它可能是一个原因,因此我们需要检查硬盘上的I/O活动,我们可以使用iotop和iostat命令监控Linux系统中所有磁盘和文件系统的磁盘I/O统计信息。

 

iotop简介

iotop是一种用于显示实时磁盘活动的顶级实用程序,iotop监视Linux内核输出的I/O使用信息,并显示系统上进程或线程的当前I/O使用情况表。它显示每个进程/线程读取和写入的I/O带宽,它还显示线程/进程在交换时和等待I/O时所花费的时间百分比。

Total DISK READ和Total DISK WRITE值表示一方的进程和内核线程与另一方的内核块设备子系统之间的总读写带宽。实际DISK READ和Actual DISK WRITE值表示内核块设备子系统与底层硬件(HDD,SSD等)之间的实际磁盘I/O的相应带宽。

 

在Linux中安装iotop

我们可以在软件包管理器的帮助下安装它,因为软件包可以在所有Linux发行版存储库中使用。

1、对于Fedora系统,使用DNF安装iotop:

$ sudo dnf install iotop

参考:dnf命令_Linux dnf命令使用详解:新一代的RPM软件包管理器

2、对于Debian/Ubuntu系统,使用APT-GET或APT安装iotop:

$ sudo apt install iotop

3、对于基于Arch Linux的系统,请使用Pacman安装iotop:

$ sudo pacman -S iotop

4、对于RHEL/CentOS系统,使用YUM安装iotop:

$ sudo yum install iotop

5、对于openSUSE Leap系统,使用Zypper安装iotop:

$ sudo zypper install iotop

参考:Zypper软件包管理器的基本入门命令

 

使用iotop命令在Linux中监视磁盘I/O活动/统计信息

iotop命令中有许多选项可用于检查有关磁盘I/O的各种统计信息。

运行不带任何参数的iotop命令,以查看每个进程或线程的当前I/O使用情况:

# iotop

在Linux中安装和使用iotop和iostat命令监视磁盘I/O活动的方法

如果您想检查哪个进程实际上正在执行IO,请使用-o或--only选项运行iotop命令:

# iotop --only

在Linux中安装和使用iotop和iostat命令监视磁盘I/O活动的方法

说明:

IO:显示每个进程的I/O利用率,包括磁盘和交换。

SWAPIN:它仅显示每个进程的交换使用情况。

 

iostat简介

iostat用于报告设备和分区的中央处理单元(CPU)统计信息和输入/输出统计信息,iostat命令用于通过观察设备相对于其平均传输速率的活动时间来监视系统输入/输出设备负载,iostat命令生成可用于更改系统配置的报告,以更好地平衡物理磁盘之间的输入/输出负载。

每次运行iostat命令时都会报告所有统计信息,该报告包含一个CPU标题行,后跟一行CPU统计信息。在多处理器系统上,CPU统计信息在系统范围内计算为所有处理器之间的平均值。将显示设备标题行,后跟已配置的每个设备的统计信息行。iostat命令生成两种类型的报告:CPU利用率报告和设备利用率报告。

 

在Linux中安装iostat

iostat工具是sysstat包的一部分,因此,我们可以在包管理器的帮助下安装它,因为该包在所有Linux发行版存储库中都可用。

参考:Sysstat:一体化的Linux系统性能和使用活动监控工具

1、对于Fedora系统:

$ sudo dnf install sysstat

2、对于Debian/Ubuntu系统:

$ sudo apt install sysstat

3、对于基于Arch Linux的系统:

$ sudo pacman -S sysstat

4、对于RHEL/CentOS系统:

$ sudo yum install sysstat

5、对于openSUSE Leap系统:

$ sudo zypper install sysstat

 

使用sysstat命令在Linux中监视磁盘I/O活动/统计信息

iostat命令中有许多选项可用于检查有关磁盘I/O和CPU的各种统计信息。

运行不带任何参数的iostat命令:

# iostat

在Linux中安装和使用iotop和iostat命令监视磁盘I/O活动的方法

使用-d选项:

# iostat -d

在Linux中安装和使用iotop和iostat命令监视磁盘I/O活动的方法

使用-p选项:

# iostat -p

在Linux中安装和使用iotop和iostat命令监视磁盘I/O活动的方法

使用-x选项:

# iostat -x

在Linux中安装和使用iotop和iostat命令监视磁盘I/O活动的方法

使用-d [Device_Name]选项:

# iostat -p [Device_Name]

# iostat -p sda

在Linux中安装和使用iotop和iostat命令监视磁盘I/O活动的方法

使用-m选项运行iostat命令,以查看所有设备的MB的I/O统计信息,默认情况下,它显示带有KB的输出:

# iostat -m

在Linux中安装和使用iotop和iostat命令监视磁盘I/O活动的方法

以一定的间隔运行iostat命令,然后使用以下格式,在这个例子中,我们将以5秒的间隔捕获两个报告:

# iostat [Interval] [Number Of Reports]

# iostat 5 2

在Linux中安装和使用iotop和iostat命令监视磁盘I/O活动的方法

使用-N选项运行iostat命令以查看LVM磁盘I/O统计信息报告:

# iostat -N

在Linux中安装和使用iotop和iostat命令监视磁盘I/O活动的方法

同时运行nfsiostat命令可以查看到网络文件系统(NFS)的I/O统计信息。

 

相关主题

使用ncdu来分析Linux系统中的磁盘使用情况

Linux命令子频道
精选文章
热门文章