分享最新优惠信息
购买主机更加划算

整理几个在Linux服务器中监视和调试磁盘I/O性能的有用工具

在Linux服务器上监控的一个关键性能指标是磁盘I/O(输入/输出)活动,它可以显着影响Linux服务器的多个方面,尤其是文件或数据(尤其是在数据库服务器上),因为它会对应用程序和服务的性能产生连锁反应。

在本文中,小编简单整理几个在Linux服务器中监视和调试磁盘I/O性能的有用工具,它可以更好的帮助我们管理Linux服务器,下面依次来介绍下。

1、iostat – 显示设备输入和输出统计信息

iosat是sysstat包中众多基于终端的系统监控实用程序之一,它是一种广泛使用的实用程序,旨在报告块设备和分区的CPU统计信息和I/O统计信息。

要在Linux服务器上使用iostat,需要通过运行适用于Linux发行版的命令在Linux系统上安装sysstt包

$ sudo apt install sysstat   [Debian、Ubuntu和Mint]
$ sudo yum install sysstat   [RHEL/CentOS/FedoraRocky Linux/AlmaLinux]
$ sudo Emerge -a app-admin/sysstat   [Gentoo Linux]
$ sudo apk add sysstat    [Alpine Linux]
$ sudo pacman -S sysstat  [Arch Linux]
$ sudo zypper install sysstat  [OpenSUSE]    

要显示简单的设备利用率报告,请运行iostat命令并使用-d选项通常情况下,第一个报告提供有关自系统启动以来的时间(启动时间)的统计信息,而且每个后续报告都关注自上一次报告以来的时间。

使用-x扩展统计报告和-t标志来启用每个报告的时间。此外,如果希望消除报告输出中没有任何活动的设备,请添加-z标志:

# iostat -d -t
或者
# iostat -d -x -t

iostat - 在 Linux中监控设备统计信息

要以每秒千字节而不是每秒块显示统计信息,请添加-k标志,或使用-m标志以每秒兆字节显示统计信息。

# iostat -d -k
或者
# iostat -d -m

iostat还可以以x秒的时间间隔显示连续的设备报告。例如,以下命令以两秒的间隔显示报告:

# iostat -d 2

与前面的命令相关,还可以以x秒的时间间隔显示n个报告。以下命令将以两秒的间隔显示10个报告。或者,可以将报告保存到文件中以供以后分析:

# iostat -d 2 10
或者
# iostat -d 2 10 > disk_io_report.txt &

有关报告列的更多信息,请阅读iostat帮助手册页:

# man iostat

2、sar – 显示Linux系统活动

sar是sysstat软件包附带的另一个有用的实用程序,旨在收集、报告或保存系统活动信息。在开始使用之前,需要进行如下设置。

首先,使其能够收集/etc/default/sysstat文件中的数据。

# vi /etc/default/sysstat

查找以下行并将值更改为“true”,如图所示。

ENABLED="true"

在Linux中启用Sar

接下来,需要减少sysstat cron作业中定义的数据收集间隔。默认情况下,它设置为每10分钟一次,你可以将其降低到每2分钟一次。

你可以在/etc/cron.d/sysstat文件中执行此操作:

# vi /etc/cron.d/sysstat

在Linux中配置Sar Cron

保存文件并关闭它。

最后,使用以下systemctl命令启用并启动sysstat服务:

# systemctl enable --now sysstat.service
# systemctl enable sysstat.service

接下来,等待2分钟开始查看sar报告。使用sar命令和命令行-b选项来报告I/O和传输速率统计信息,-d选项会报告每个块设备的活动,如下图所示:

# sar -d -b

Sar – 监控Linux系统活动

3、iotop – 监控Linux磁盘I/O使用情况

与设计上的顶级监控工具类似,iotop是一个简单的实用程序,可基于每个进程监控磁盘I/O活动和使用情况。

你可以按如下方式将它安装在Linux服务器上(请记住为不同Linux发行版运行适当的命令):

$ sudo apt install iotop  [ Debian、Ubuntu和Mint]
$ sudo yum install iotop  [RHEL/CentOS/FedoraRocky Linux/AlmaLinux]
$ sudo Emerge -a sys-processs/iotop  [Gentoo Linux]
$ sudo apk add iotop    [Alpine Linux]
$ sudo pacman -S iotop  [Arch Linux]
$ $ sudo zypper install iotop  [OpenSUSE]    

要监视每个进程的I/O活动,可以不带任何参数运行iotop,如下所示。默认情况下,迭代之间的延迟为1秒。可以使用-d标志更改此设置。

# iotop
或者
# iotop -d 2

iotop–监控Linux磁盘使用情况

iotop默认会显示一个进程的所有线程,要更改此行为以使其仅显示进程,请使用-P命令行选项。

# iotop -P

此外,使用-a选项,可以指示它显示累积的I/O,而不是显示带宽。在此模式下,iotop显示自调用iotop以来执行的I/O进程的数量。

# iotop -P -a

总结

以上就是在Linux服务器中监视和调试磁盘I/O性能的几个有用工具,对于Linux新手用户来说,都是比较不错的管理工具,有需要的小伙伴可以试试安装使用,或许比较适合你。

未经允许不得转载:惠主机 » 整理几个在Linux服务器中监视和调试磁盘I/O性能的有用工具