iotop 命令:磁盘IO监控和诊断
一、命令简介
iotop
命令用于监视磁盘I/O,实时显示每个进程或线程的读写速率等信息。非常适合用于诊断系统中的I/O瓶颈。
安装 iotop
在大多数Linux发行版中,iotop
可能不是预装的。可以使用包管理器来安装它。
例如,在基于Debian的系统(如Ubuntu)上:
sudo apt-get install iotop
在基于RPM的系统(如Fedora)上:
sudo dnf install iotop
二、命令参数
sudo iotop
常用选项
-
-o
:只显示进行I/O操作的进程或线程。 -
-b
:以非交互模式运行,适合记录日志。 -
-n NUM
:设置刷新次数,在非交互模式下很有用。 -
-d SEC
:设置刷新间隔(秒)。 -
-p PID
:只监视指定进程的I/O。 -
-u USER
:只显示指定用户的进程的I/O。 -
-a
:显示累积I/O,而不是实时速率。 -
-k
:以千字节(KB)为单位显示数据大小。 -
-t
:显示时间戳。
三、命令示例
sudo iotop # 基本使用,显示所有进程的磁盘I/O
sudo iotop -o # 只显示正在执行I/O操作的进程
sudo iotop -b -n 5 # 以非交互模式运行,只刷新5次
sudo iotop -u john # 只显示用户john的进程的磁盘I/O
sudo iotop -p 1234 # 只监视PID为1234的进程的磁盘I/O
iotop
的界面会显示以下信息:
- 进程ID(PID)
- 用户
- 进程名
- 磁盘读速度(READ)
- 磁盘写速度(WRITE)
- 磁盘总I/O(TOTAL)
- 磁盘I/O优先级(PRIO)
- 命令行(COMMAND)
你可以使用以下快捷键来操作iotop
:
-
q
:退出iotop
-
<
和>
:改变排序方式,<
表示按读速度排序,>
表示按写速度排序 -
r
:反向排序 -
o
:只显示有I/O活动的进程 -
p
:允许通过输入PID来过滤进程 -
a
:显示累积I/O,而不是实时I/O -
u
:过滤特定的用户 -
h
:显示帮助屏幕