1. 简介

iotop 是一个类似 top 的工具,用来显示实时的磁盘活动。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况。iotop 监控 Linux 内核输出的 I/O 使用信息,并且显示一个系统中进程或线程的当前 I/O 使用情况。它显示每个进程/线程读写 I/O 带宽。它同样显示当等待换入和等待 I/O 的线程/进程花费的时间的百分比。

  1. Total DISK READ 和 Total DISK WRITE 的值一方面表示了进程和内核线程之间的总的读写带宽,另一方面也表示内核块设备子系统的。

  2. Actual DISK READ 和 Actual DISK WRITE 的值表示在内核块设备子系统和下面硬件(HDD、SSD 等等)对应的实际磁盘 I/O 带宽。

2. 安装 iotop

  • 对于 Fedora 系统,使用 DNF 命令 来安装 iotop。

$ sudo dnf install iotop
  • 对于 Debian/Ubuntu 系统,使用 API-GET 命令 或者 APT 命令 来安装 iotop。

$ sudo apt install iotop
  • 对于基于 Arch Linux 的系统,使用 Pacman Command 来安装 iotop。

$ sudo pacman -S iotop
  • 对于 RHEL/CentOS 的系统,使用 YUM Command 来安装 iotop。

$ sudo yum install iotop
  • 对于使用 openSUSE Leap 的系统,使用 Zypper Command 来安装 iotop。

$ sudo zypper install iotop

3. 监控脚本

iotap.sh
while true
do
	echo `date` >> /tmp/iotop.txt
	iotop -b -o -n 2 -d 5 -t >> /tmp/iotop.txt
	echo "--------" >> /tmp/iotop.txt
	sleep 60
done
iostat.sh
while true
do
	echo `date` >> /tmp/iostat.txt
	iostat -zx >> /tmp/iostat.txt
	echo "--------" >> /tmp/iostat.txt
	sleep 60
done