Linux命令-iotop命令(实时磁盘 I/O 监控工具)

🧭 说明

iotop 是一个类似 top 命令的实时磁盘 I/O 监控工具,它能精确显示系统中各个进程或线程的磁盘读写情况,帮助快速定位 I/O 密集型进程 。

🔧 安装与基本使用

安装命令

大多数 Linux 发行版默认未安装 iotop,可以使用包管理器安装 :

  • Debian/Ubuntu : sudo apt install iotop
  • RHEL/CentOS : sudo yum install iotop
  • Fedora : sudo dnf install iotop
  • Arch Linux : sudo pacman -S iotop

基本使用

执行 sudo iotop 即可启动交互式界面 。界面顶部显示系统总的磁盘读写速度,下方表格列出每个进程/线程的详细信息 。

输出列说明

理解各列含义对分析至关重要 :

列名 说明
PID/TID 进程ID/线程ID。
USER 进程所有者。
DISK READ 进程的磁盘读取速率。
DISK WRITE 进程的磁盘写入速率。
SWAPIN 进程进行交换(swap)的百分比。
IO> 进程等待 I/O 的时间百分比,是判断 I/O 压力的关键指标。
COMMAND 进程名称。

⚙️ 常用参数与技巧

下表汇总了一些最实用的命令参数 :

参数 说明
-o / --only 只显示正在发生 I/O 的进程,让输出更聚焦 。
-b / --batch 非交互式模式,常用于将输出重定向到文件,用于后续分析 。
-p PID 仅监控指定的进程ID 。
-u USER 仅监控指定用户的进程 。
-d SEC 设置刷新间隔(秒),例如 -d 5 表示每5秒刷新一次 。
-n NUM 在非交互模式下运行的次数,配合 -b 使用 。
-a / --accumulated 显示累积 I/O 量,而非实时带宽 。
-t / --time 在输出中增加时间戳,便于记录 。

交互模式快捷键

iotop 的交互界面中,使用快捷键可以动态调整显示 :

  • 左右箭头:改变排序的列。
  • r:反转排序顺序。
  • o :切换"只显示活跃进程"的开关(相当于 -o 参数)。
  • q:退出程序。

💡 实际应用场景

  1. 快速定位系统卡顿元凶

    当系统响应缓慢时,可运行 sudo iotop -o,按 IO% 列排序,直观地看到是哪个进程在大量读写磁盘 。

  2. 监控特定服务

    若要监控数据库(如 MySQL)的 I/O 活动,可以使用 sudo iotop -u mysql -o,专门查看该用户的进程 。

  3. 记录特定时间段的 I/O 日志

    用于事后分析,例如,以下命令将每 10 秒采样一次,共 5 次,并将结果保存到文件:

    bash 复制代码
    sudo iotop -b -t -n 5 -d 10 > iotop_log.txt

⚠️ 注意事项

  • 权限要求iotop 需要 root 权限来读取所有进程的 I/O 信息,因此通常需使用 sudo
  • 内核支持iotop 需要内核开启 I/O 统计功能,主流发行版通常已支持 。
  • 综合诊断iotop 擅长找出"谁"在读写磁盘,但要理解"为什么"磁盘慢,还需结合 iostatvmstat 等工具查看设备级指标(如利用率 %util、响应时间)。
相关推荐
pangares17 分钟前
防火墙安全策略(基本配置)
服务器·php·apache
Johnstons33 分钟前
读懂 TCP 标志位:网络运维中的“信号灯”
运维·网络·tcp/ip
keep intensify41 分钟前
康复训练 5
linux·c++
坚定的共产主义生产设备永不宕机1 小时前
网络层协议(IPV4报头)
运维·服务器·网络
OxyTheCrack1 小时前
【C++】详细拆解std::mutex的底层原理
linux·开发语言·c++·笔记
weixin_505154461 小时前
Bowell Studio:重塑工业互联网时代的装配制造与运维检修
运维·数据库·人工智能·制造·数字孪生·3d产品配置器·3d交互展示
sa100271 小时前
淘宝商品详情 API 接口开发实战:item_detail 调用、参数与 Python 示例
linux·数据库·python
kc胡聪聪1 小时前
nginx的核心功能
服务器·nginx
sbjdhjd1 小时前
RHCE | Web 服务器与 Nginx 全栈详解
linux·nginx·http·云原生·oracle·架构·web
敲代码还房贷1 小时前
FSL6.0.7安装教程
linux·ubuntu·医学生·fsl