iotop简介
iotop 是一个类似 top 的工具,用来显示实时的磁盘活动。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况。iotop 监控 Linux 内核输出的 I/O 使用信息,并且显示一个系统中进程或线程的当前 I/O 使用情况。它显示每个进程/线程读写 I/O 带宽。它同样显示当等待换入和等待 I/O 的线程/进程花费的时间的百分比。
iotop 安装
apt install iotop
iotop 格式
iotop (选项)
-o:只显示有io操作的进程
-b:批量显示,无交互,主要用作记录到文件。
-n NUM:显示NUM次,主要用于非交互式模式。
-d SEC:间隔SEC秒显示一次。
-p PID:监控的进程pid。
-u USER:监控的进程用户。
iotop 参数
I/O的常用快捷键
左右箭头:改变排序方式,默认是按IO排序。
r:改变排序顺序。
o:只显示有IO输出的进程。
p:进程/线程的显示方式的切换。
a:显示累积使用量。
q:退出。
交互模式
如果在命令启动时没有指定-b参数,可以在接口的运行过程中进行如下交互:
排序字段:使用键盘左右箭头控制排序的字段(排序字段右侧有">"或"<",例如: IO>)\
排序方式:"r"键可以控制升序还是降序排列(">"表示降序,"<"表示升序);
仅显示有IO发生的进程:"o"控制是否仅显示发生IO的进程;
进程/线程:"p"键控制线程号/进程号的(PID/TID)
累积流量:"a"键控制是否显示累积IO量,更加利于查看问题
强制刷新:"q"键退出,除了这些键之外的任意键都会强制刷新。
输出行解释
# Total DISK READ:从磁盘中读取的总速率
# Total DISK WRITE:往磁盘里写入的总速率
# Actual DISK READ:从磁盘中读取的实际速率
# Actual DISK WRITE:往磁盘里写入的实际速率
# TID:线程ID,按p可转换成进程ID
# PRIO:优先级
# USER:线程所有者
# DISK READ:从磁盘中读取的速率
# DISK WRITE:往磁盘里写入的速率
# SWAPIN:swap交换百分比
# IO>:IO等待所占用的百分比
# COMMAND:具体的进程命令
iotop案例
1、只显示正在产生I/O的进程
iotop -o
2、显示指定PID
b是非交互式,-n 2指监控2次,-d 5 表示5秒刷新一次,-p是只显示进程
iotop -b -n 2 -d 5 -p 1
3、显示指定用户
b是非交互式,-n 2指监控2次,-d 5 表示5秒刷新一次,-u是指定用户
iotop -b -n 2 -d 5 -u root
4、打印指定PID的时间戳
t表示打印时间戳,-k是单位为KB
iotop -b -n 2 -d 5 -p 1 -u root -t -k
六、总结
iotop是一款开源、免费的用来监控磁盘I/O使用状况的类似top命令的工具,iotop可以监控进程的I/O信息。它是Python语言编写的,与iostat工具比较,iostat是系统级别的IO监控,而iotop是进程级别IO监控。
评论