Linux(Centos 7.6)命令详解:iotop

CentOS 运维避坑实战

CentOS7.9 安装 Python3.8.16 后 yum 报错,快速修复方案

1.命令作用

简单的类似top的I/O监控(simple top-like I/O monitor);用来显示实时的磁盘活动;

2.命令安装

# 默认未安装
# 联网情况
yum install epel-release    # 安装epel-release,会将epel的yum源文件下载到/etc/yum.repos.d
yum install iotop           # 读取到上面的yum源,安装iotop命令

# 非联网情况,下载对应的rpm软件包,上传软件包,使用rpm -ivh安装

3.命令语法

Usage: iotop [OPTIONS]

4.参数详解

OPTION:

  • --version,显示程序的版本号并退出
  • -h, --help,显示此帮助消息并退出
  • -o, --only,只显示实际执行I/O的进程或线程
  • -b, --batch,非交互模式
  • -n NUM, --iter=NUM,结束前的迭代次数[默认无限]
  • -d SEC, --delay=SEC,迭代之间的延迟[默认1秒]
  • -p PID, --pid=PID,要监控的进程/线程的PID[默认是所有]
  • -u USER, --user=USER,要监控的用户名称[默认所有]
  • -P, --processes,只显示进程,而不是所有线程
  • -a, --accumulated,显示累计I/O,而不是显示带宽
  • -k, --kilobytes,使用千字节而不是人类友好的单位
  • -t, --time,在每行上添加时间戳(意味-b非交互式)
  • -q, --quiet,抑制进程标题行(意味-b非交互式)

交互模式控制键:

  • 使用左箭头和右箭头键可切换排序列
  • 按 r 键,反转排序顺序
  • 按 o 键,可切换 --only 选项,仅显示一行
  • 按 p 键,可切换 --processes 选项,第一列PID、TID切换
  • 按 a 键可切换 --accumulated 选项,磁盘读写的速率和大小切换
  • 按 i 键可更改 I/O 优先级
  • 按 q 键可退出
  • 其他任何键则会强制刷新

5.常用用例

5.1.交互输出详解

Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s
   TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                             
 12562 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.08 % [kworker/1:2]
     1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --switched-root --system --deserialize 22
     2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
     3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]

输出主要分两部分:

  • 系统级 I/O 概览‌
  • 进程级 I/O 详情‌

5.1.1.系统级 I/O 概览‌

Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/s
Actual DISK READ:	    0.00 B/s | Actual DISK WRITE:       0.00 B/s

输出解释:

  • Total DISK READ,系统总读取带宽;所有进程和内核线程的‌读请求总和(含缓存操作)
  • ‌Total DISK WRITE,系统总写入带宽;所有进程和内核线程的‌写请求总和‌(含缓存操作)
  • ‌Actual DISK READ,实际物理磁盘读取带宽;磁盘硬件‌实际执行的读操作(排除缓存影响)
  • ‌Actual DISK WRITE,实际物理磁盘写入带宽;磁盘硬件‌实际执行的写操作(排除缓存影响)
  • ‌Current DISK READ/WRITE,当前磁盘读写带宽(部分版本),等同于 "Actual" 值,表示实时硬件 I/O

关键差异:

  • Total,包含内核缓存操作(如 Page Cache),可能高于Actual
  • Actual,反映真实磁盘负载,若持续过高可能引发性能瓶颈

5.1.2.进程级 I/O 详情‌

   TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                             
 12562 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.08 % [kworker/1:2]
     1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --switched-root --system --deserialize 22
     2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]
     3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]

输出解释:

  • TID,线程/进程ID;默认显示线程ID;-P参数可切换为PID,或者交互模式p切换到PID
  • PRIO,I/O优先级和调度策略;如 be/4:
    • be (Best Effort),默认调度策略
    • 4 Nice值(范围 0–7,越小优先级越高)
  • USER,进程所有者;启动进程的用户名(-u 可筛选指定用户)
  • DISK READ,进程读取速率;单位默认为B/s(-k 切换为 KB/s)
  • DISK WRITE,进程写入速率;同上,反映实时I/O带宽
  • SWAPIN,交换等待百分比;进程‌等待Swap交换数据‌的时间占比(过高需警惕内存不足)
  • IO>,I/O 等待百分比‌;进程‌因 I/O 操作阻塞‌的时间占比(核心指标,>20% 可能表示磁盘瓶颈)
  • COMMAND,进程名称或命令行;默认缩略显示,按 c 键可切换完整命令行

CentOS 运维避坑实战

CentOS7.9 安装 Python3.8.16 后 yum 报错,快速修复方案

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

豆是浪个

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值