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、响应时间)。
相关推荐
Ether IC Verifier5 分钟前
OSI网络七层协议详细介绍
服务器·网络·网络协议·计算机网络·php·dpu
Joseph Cooper12 分钟前
Linux Power Management 子系统:从 suspend/resume 到 Runtime PM、PM QoS
linux·驱动开发·linux kernel·嵌入式linux·电源管理
wj30558537829 分钟前
CC-Switch 在 WSL Ubuntu 中安装记录
linux·运维·ubuntu
人生匆匆44 分钟前
通过nginx解决跨域问题
运维·nginx
_守一1 小时前
UE DS+Nakama进行游戏服务器开发(1)源码编译nakama
服务器·游戏
Joseph Cooper1 小时前
Linux HID 子系统实战:从虚拟键盘到 input 事件上报
linux·c语言·计算机外设
原来是猿1 小时前
【Socket编程预备知识】
linux·运维·服务器·网络
吴爃1 小时前
Spring Boot 项目在 K8S 中的打包、部署与运维发布实践
运维·spring boot·kubernetes
Elastic 中国社区官方博客2 小时前
在 Elastic 中使用 MCP 自动化用户旅程以进行合成监控
大数据·运维·人工智能·elasticsearch·搜索引擎·自动化·可用性测试
长安链开源社区2 小时前
学者观察 | 基于区块链的隐私计算技术——北京理工大学教授祝烈煌
运维·区块链