网站Logo GESONG

查看磁盘IO情况常用命令

gesong
0
2025-09-11

iotop

iotop –aoP –d 4 
命令参数:
-o:只显示有io操作的进程;
-b:批量显示,无交互,主要用作记录到文件;
-n NUM:显示NUM次,主要用于非交互式模式;
-d SEC:间隔SEC秒显示一次;
-p PID:监控的进程pid;
-u USER:监控的进程用户;
iotop 常用快捷键
左右箭头:改变排序方式,默认是按IO排序;
r:改变排序顺序;
o:只显示有IO输出的进程;
p:进程/线程的显示方式的切换;
a:显示累积使用量;
q:退出;

指标解读:
TID:线程 ID (Thread ID),即正在执行 I/O 操作的线程或进程的 ID。
PRIO:I/O 优先级。I/O 优先级与进程的调度优先级不同,表示该线程在 I/O 调度中的优先级。
USER:启动该进程或线程的用户。
DISK READ:磁盘读取速率。表示该进程从磁盘读取数据的速度(B/s、KB/s 等)。
DISK WRITE:磁盘写入速率。表示该进程向磁盘写入数据的速度。
SWAPIN:进程从交换分区中读取数据的百分比,表示该进程访问虚拟内存的频率。如果这个数值较高,意味着系统可能内存不足。
IO:I/O 等待时间,表示进程因为等待 I/O 操作而被阻塞的时间比例。这个值越高,意味着进程等待磁盘响应的时间越多。
COMMAND:进程或线程的执行命令。

iostat

iostat命令的基本格式如下所示:

iostat <options> <device name>
  • -c: 显示CPU使用情况

  • -d: 显示磁盘使用情况

  • --dec={ 0 | 1 | 2 }: 指定要使用的小数位数,默认为 2

  • -g GROUP_NAME { DEVICE [...] | ALL } 显示一组设备的统计信息

  • -H 此选项必须与选项 -g 一起使用,指示只显示组的全局统计信息,而不显示组中单个设备的统计信息

  • -h 以可读格式打印大小

  • -j { ID | LABEL | PATH | UUID | ... } [ DEVICE [...] | ALL ] 显示永久设备名。选项 ID、LABEL 等用于指定持久名称的类型

  • -k 以 KB 为单位显示

  • -m 以 MB 为单位显示

  • -N 显示磁盘阵列LVM) 信息

  • -n 显示NFS 使用情况

  • -p [ { DEVICE [,...] | ALL } ] 显示磁盘和分区的情况

  • -t 打印时间戳。时间戳格式可能取决于 S_TIME_FORMAT 环境变量

  • -V 显示版本信息并退出

  • -x 显示详细信息(显示一些扩展列的数据)

  • -y 如果在给定的时间间隔内显示多个记录,则忽略自系统启动以来的第一个统计信息

  • -z 省略在采样期间没有活动的任何设备的输出

常见的命令行的使用如下所示:

iostat -d -k 1 10         #查看TPS和吞吐量信息(磁盘读写速度单位为KB),每1s收集1次数据,共收集10次
iostat -d -m 2            #查看TPS和吞吐量信息(磁盘读写速度单位为MB),每2s收集1次数据
iostat -d -x -k 1 10      #查看设备使用率(%util)、响应时间(await)等详细数据, 每1s收集1次数据,总共收集10次 
iostat -c 1 10            #查看cpu状态,每1s收集1次数据,总共收集10次

动物装饰