当前位置: 首页 > article >正文

Linux系统之iotop命令的基本使用

Linux系统之iotop命令的基本使用

  • 一、iotop命令介绍
  • 二、iotop命令的使用帮助
    • 2.1 安装iotop
    • 2.2 iotop命令help帮助信息
    • 2.3 iotop命令选项解释
  • 三、 iotop命令的基本使用
  • 四、iotop使用注意事项

在这里插入图片描述

一、iotop命令介绍

iotop 是一个类似于 top 的命令行工具,但它专注于显示实时的磁盘I/O使用情况。这个工具可以帮助你找出哪些进程正在大量地读写磁盘,对于诊断系统性能问题非常有用,特别是在磁盘I/O成为瓶颈时。

二、iotop命令的使用帮助

2.1 安装iotop

如果系统上没有安装iotop工具,则执行以下命令进行安装。

apt install iotop -y

在这里插入图片描述

2.2 iotop命令help帮助信息

在命令行终端中,我们使用--help查询iotop命令的基本帮助信息。

root@jeven01:~# iotop --help
Usage: /usr/sbin/iotop [OPTIONS]

DISK READ and DISK WRITE are the block I/O bandwidth used during the sampling
period. SWAPIN and IO are the percentages of time the thread spent respectively
while swapping in and waiting on I/O more generally. PRIO is the I/O priority
at which the thread is running (set using the ionice command).

Controls: left and right arrows to change the sorting column, r to invert the
sorting order, o to toggle the --only option, p to toggle the --processes
option, a to toggle the --accumulated option, i to change I/O priority, q to
quit, any other key to force a refresh.

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -o, --only            only show processes or threads actually doing I/O
  -b, --batch           non-interactive mode
  -n NUM, --iter=NUM    number of iterations before ending [infinite]
  -d SEC, --delay=SEC   delay between iterations [1 second]
  -p PID, --pid=PID     processes/threads to monitor [all]
  -u USER, --user=USER  users to monitor [all]
  -P, --processes       only show processes, not all threads
  -a, --accumulated     show accumulated I/O instead of bandwidth
  -k, --kilobytes       use kilobytes instead of a human friendly unit
  -t, --time            add a timestamp on each line (implies --batch)
  -q, --quiet           suppress some lines of header (implies --batch)
  --no-help             suppress listing of shortcuts

2.3 iotop命令选项解释

选项描述
--version显示程序版本号并退出
-h, --help显示此帮助消息并退出
-o, --only仅显示实际进行I/O操作的进程或线程
-b, --batch非交互模式
-n NUM, --iter=NUM在结束前迭代次数 [无限]
-d SEC, --delay=SEC迭代之间的延迟时间 [1秒]
-p PID, --pid=PID要监控的进程/线程ID [全部]
-u USER, --user=USER要监控的用户 [全部]
-P, --processes仅显示进程,不显示所有线程
-a, --accumulated显示累积I/O而不是带宽
-k, --kilobytes使用千字节而不是友好的单位
-t, --time在每行添加时间戳 (隐含了 --batch)
-q, --quiet抑制部分头部行 (隐含了 --batch)
--no-help抑制快捷键列表

三、 iotop命令的基本使用

直接在命令行,使用iotop命令,可以看到如下效果。默认情况下,iotop 需要以root权限运行才能查看所有进程的I/O活动。

 iotop

在这里插入图片描述

  • 控制命令
按键功能描述
左右箭头改变排序列
r反转排序顺序
o切换 --only 选项
p切换 --processes 选项
a切换 --accumulated 选项
i更改I/O优先级 (使用 ionice 命令设置)
q退出
任意其他键强制刷新屏幕

输出解释

  • TID:线程ID
  • PRIO:I/O优先级(通过 ionice 命令设置)
  • USER:进程所属用户
  • DISK READ:采样期间使用的块I/O读取带宽
  • DISK WRITE:采样期间使用的块I/O写入带宽
  • SWAPIN:进程交换到内存中的百分比
  • IO>:线程等待I/O的时间百分比
  • COMMAND:进程名/命令行

四、iotop使用注意事项

  • 以root权限运行:为了查看所有进程的I/O活动,通常需要以root用户身份运行 iotop
  • 安装内核模块:确保系统上已加载了 CONFIG_TASK_DELAY_ACCTCONFIG_TASK_IO_ACCOUNTING 内核配置选项,否则 iotop 可能无法正常工作。
  • 注意性能影响:频繁地刷新或设置较短的延迟时间可能会对系统性能产生轻微的影响,特别是在繁忙的系统上。
  • 结合其他工具使用:将 iotoptop, htop, 或 vmstat 等其他系统监控工具结合使用,可以提供更全面的系统性能视图。
  • 理解输出数据:熟悉各个列的意义,如DISK READ, DISK WRITE, SWAPIN, 和 IO%,以便准确解读I/O活动。
  • 使用适当的选项:根据需求选择合适的命令行选项,例如使用 -o 仅显示有I/O活动的进程,或使用 -a 显示累积I/O量。
  • 定期更新 iotop:保持 iotop 软件包的最新状态,以获得最新的功能和安全更新。
  • 非交互模式记录:在进行长时间监控或日志记录时,考虑使用 -b 选项进入批处理模式,并可能结合 -n-d 来控制迭代次数和延迟时间。
  • 检查系统负载:在高负载情况下,某些I/O操作可能被延迟,因此要结合CPU、内存等其他资源的使用情况来综合判断。
  • 关注特定进程:如果需要监控特定进程的I/O活动,可以使用 -p 选项指定PID,或者使用 -u 选项指定用户名来限制监控范围。


http://www.kler.cn/a/413756.html

相关文章:

  • C++自动化测试:GTest 与 GitLab CI/CD 的完美融合
  • Paddle Inference部署推理(十八)
  • 光伏功率预测!Transformer-LSTM、Transformer、CNN-LSTM、LSTM、CNN五模型时序预测
  • Springboot项目搭建(6)-前端登录跳转与Pinia实用
  • 从零开始:NetBox 4.1 Docker 部署和升级
  • 【k8s深入学习之 Scheme】全面理解 Scheme 的注册机制、内外部版本、自动转换函数、默认填充函数、Options等机制
  • 【EI会议征稿通知 | 往届均已见刊检索】第四届电子信息工程、大数据与计算机技术国际学术会议(EIBDCT 2025)
  • 分类预测 | Matlab实现GA-XGBoost分类预测
  • 使用Eureka实现服务注册与发现的具体案例详解
  • go语言怎么实现bash cmd里的mv功能?
  • 【GPT】力量训练是什么,必要吗,有可以替代的方式吗
  • 11.25 Scala案例
  • web3.js + Ganache 模拟以太坊账户间转账
  • Ubuntu 硬盘分区并挂载
  • 【项目日记】仿mudou的高并发服务器 --- 实现基础高并发服务器基础模块
  • 【LeetCode面试150】——56合并区间
  • RabbitMQ5:Fanout交换机、Direct交换机、Topic交换机
  • YOLOv11融合PIDNet中的PagFM模块及相关改进思路
  • Samba服务器常见问题处理
  • Jmeter后置处理器
  • 代码美学2:MATLAB制作渐变色
  • DVWA靶场通过——文件上传漏洞
  • 预测未来 | MATLAB实现Transformer时间序列预测未来
  • 【方案库】从单张照片快速重建3D场景:Flash3D详解
  • 【Ubuntu24.04】服务部署(Docker)
  • 实验二 系统响应及系统稳定性