引言:iotop 是一个用来监视磁盘 I/O 使用状况的 top 类工具。iotop 具有与 top 相似的 UI,其中包括 PID、用户、I/O、进程等相关信息。
一.命令简介
iotop 是一个类似 top 的工具,用来显示实时的磁盘活动。Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况。iotop 监控 Linux 内核输出的 I/O 使用信息,并且显示一个系统中进程或线程的当前 I/O 使用情况。它显示每个进程/线程读写 I/O 带宽。它同样显示当等待换入和等待 I/O 的线程/进程花费的时间的百分比。
1.1命令安装
yum install -y iotop
1.2常用选项
-o:只显示有io操作的进程
-b:批量显示,无交互,主要用作记录到文件。
-n NUM:显示NUM次,主要用于非交互式模式。
-d SEC:间隔SEC秒显示一次。
-p PID:监控的进程pid。
-u USER:监控的进程用户。
1.3常用参数
参数 | 描述 |
---|---|
-o | 只显示正在产生I/O的进程或线程,运行过程中,可以通过按o随时切换 |
-b | 非交互式下运行,一般用来记录日志 |
-n NUM | 设置监控(显示)次数,主要用于非交互式,默认无限 |
-d SEC | 设置显示的间隔秒数,支持非整数 |
-p PID | 只显示指定进程(PID)的信息 |
-u USER | 显示指定用户的进程信息 |
-P | 只显示进程,不显示所有线程 |
-a | 累积的I/O,显示从iotop启动后每个进程累积的I/O总数,便于诊断问题 |
-k | 显示使用KB单位 |
-t | 非交互模式下,加上时间戳 |
-q | 只在第一次监测时显示列名. 去除头部一些行:这个参数可以设置最多3次来移除头部行:-q列头部只在最初交互显示一次;-qq列头部不显示;-qqq,I/O的总结不显示 |
二.I/O常用快捷键
左右箭头:改变排序方式,默认是按IO排序。
- r:改变排序顺序。
- o:只显示有IO输出的进程。
- p:进程/线程的显示方式的切换。
- a:显示累积使用量。
- q:退出。
1.排序字段:使用键盘左右箭头控制排序的字段(排序字段右侧有">"或"<",例如: IO>)\
2.排序方式:"r"键可以控制升序还是降序排列(">"表示降序,"<"表示升序);
3.仅显示有IO发生的进程:"o"控制是否仅显示发生IO的进程;
4.进程/线程:"p"键控制线程号/进程号的(PID/TID)
5.累积流量:"a"键控制是否显示累积IO量,更加利于查看问题
6.强制刷新:"q"键退出,除了这些键之外的任意键都会强制刷新。
三.iotop示例
1、只显示正在产生I/O的进程
iotop -o
2、显示指定PID
-b是非交互式,-n 2指监控2次,-d 5 表示5秒刷新一次,-p是只显示进程
3、显示指定用户
-b是非交互式,-n 2指监控2次,-d 5 表示5秒刷新一次,-u是指定用户
4、打印指定PID的时间戳
-t表示打印时间戳,-k是单位为KB