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

简介: Linux系统之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 选项指定用户名来限制监控范围。

相关文章
|
5月前
|
人工智能 弹性计算 开发者
征文 | 百变 OpenClaw · 阿里云轻量创意挑战赛正式启动
3月13日启动“百变OpenClaw·阿里云轻量创意挑战赛”!用阿里云轻量服务器部署OpenClaw,打造你的7×24小时AI数字分身:自动办公、智能陪聊、场景化应用任你发挥。丰厚奖品等创意达人!
征文 | 百变 OpenClaw · 阿里云轻量创意挑战赛正式启动
|
2月前
|
存储 监控 开发工具
阿里云日志服务SLS全流程对接与深度使用指南
本文是一篇详尽的阿里云日志服务SLS技术科普文章,从核心概念、服务开通、资源创建、数据采集、SDK集成、查询分析、可视化告警、安全权限到成本优化,全面讲解SLS的对接与使用。文章包含Logtail采集、Python/Java SDK代码示例、SPL与SQL查询等实操内容,帮助用户从零构建企业级日志管理平台,实现日志的统一归集、实时分析与智能运维。
|
4月前
|
网络协议 虚拟化 Docker
【Azure Developer】.NET Aspire 启动报错:listen tcp bind: An attempt was made to access a socket in a way forbidden by its access permissions
.NET Aspire在Windows启动时因Hyper-V端口保留机制,导致DCP代理无法绑定53209等端口(报错“访问被拒绝”)。虽端口未被占用,但已被系统保留。推荐方案:修改launchSettings.json,将服务端口改为7xxx等安全范围;或临时重启winnat服务、永久排除指定端口。
541 21
|
5月前
|
Web App开发 前端开发 安全
Docker快速搭建 file-transfer-go:极简文件传输工具部署教程
Docker快速搭建 file-transfer-go:极简文件传输工具部署教程
532 8
Docker快速搭建 file-transfer-go:极简文件传输工具部署教程
|
4月前
|
弹性计算 人工智能 机器人
阿里云ECS/轻量服务器+本地全平台部署OpenClaw|集成QQ机器人+千问Qwen3.6-Plus+Coding Plan大模型配置保姆级教程
2026年,开源AI自动化框架OpenClaw(曾用名Clawdbot)已成为个人与团队效率提升的核心工具,凭借“行动式AI”能力,可将自然语言指令转化为文件管理、系统控制、数据处理、社交交互等实际任务执行。本文完整覆盖2026年阿里云轻量服务器部署及本地MacOS/Linux/Windows11部署OpenClaw(Clawdbot)步骤流程及阿里云千问Qwen3.6-Plus配置或市场上免费大模型Coding Plan API配置及常见问题解答,同步新增阿里云ECS云服务器专业部署、QQ机器人全流程集成方案,所有操作附可直接复制的代码命令、可视化指引与高频问题排查方案。
755 14
|
4月前
|
人工智能 机器人 API
阿里云无影云电脑+轻量服务器部署OpenClaw|集成Slack机器人+千问Qwen3.6-Plus配置保姆级教程+避坑大全
2026年,OpenClaw结合阿里云无影云电脑、轻量服务器与Slack,已实现“零基础、零代码、全场景”的AI自动化落地。本文完整覆盖**阿里云轻量服务器部署OpenClaw(Clawdbot)简单步骤及阿里云千问Qwen3.6-Plus配置教程和避坑指南**,从无影云电脑一键部署、轻量服务器手动搭建,到Slack全集成、千问大模型配置,全程提供可直接复制的代码与可视化指引,确保新手一次成功、稳定运行。
324 10
|
4月前
|
弹性计算 测试技术 数据库
2026年阿里云活动中心优惠活动集锦:个人、企业和学生专属及同享活动参考
阿里云通过多元优惠活动降低用户上云门槛与成本,个人、企业、学生均可享特惠。个人用户可选38元/年轻量服务器或99元/年经济型e实例;企业用户有199元/年特惠u1实例,及迁云与出海补贴;学生与教师享“云工开物”计划,学生领300元无门槛券,教师获5折优惠。阿里云构建全应用场景普惠云生态,用户可根据需求选择最经济合适的方案。
852 5
|
4月前
|
人工智能 Anolis 异构计算

热门文章

最新文章