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 擅长找出"谁"在读写磁盘,但要理解"为什么"磁盘慢,还需结合 iostat、vmstat 等工具查看设备级指标(如利用率 %util、响应时间)。
相关推荐
@兽血沸腾8 小时前
Windows系统安装Jenkins部署应用至远程Windows服务器操作指南
运维·服务器·jenkins
且从容.11 小时前
Ubuntu安装flume
linux·ubuntu·flume
承渊政道11 小时前
Linux网络学习【Reactor反应堆模式】
linux·网络·学习·ubuntu·reactor
讯捷蓝达13 小时前
戴尔R720xd服务器卡死在 “Configuring Memory...Done“,换了内存还是卡?问题根本不在内存
运维·服务器
且从容.14 小时前
ubuntu安装flink
linux·ubuntu·flink
数字新视界16 小时前
动环监控信创适配在智能机房管理中的应用价值与未来展望
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
爱和冰阔落16 小时前
【Linux网络】TCP 服务器如何并发处理多个客户端?从 fork、僵尸进程到双重 fork
linux·运维·服务器·网络
程序员沉梦听雨16 小时前
WSL2的安装与使用
linux·wsl
微小的鱼16 小时前
Linux的渲染与显示系统链路
android·java·linux
lisanmengmeng16 小时前
alertmanger 标签 rules 打上分组标签
linux·运维·服务器