Linux iotop 命令

发布于 2025-02-16 21:46:12 字数 2475 浏览 8 评论 0

iotop 监视 Linux 内核(需要 2.6.20 或更高版本)输出的 I/O 使用情况信息,并显示系统上进程或线程的当前 I/O 使用情况表。

语法格式iotop [参数]

常用参数

选项

  • --version 显示版本号并退出
  • -h, --help 显示使用信息并退出
  • -o, --only 只显示实际执行 I/O 的进程或线程,而不显示所有进程或线程。这可以通过按 o 来动态切换。
  • -b, --batch 打开非交互模式。用于记录随时间变化的 I/O 使用情况。
  • -n NUM, --iter=NUM 设置退出前的迭代次数(默认情况下从不退出)。这在非交互模式下最有用。
  • -d SEC, --delay=SEC 以秒为单位设置迭代之间的延迟(默认情况下为 1 秒)。接受非整数值,如 1.1 秒。
  • -p PID, --pid=PID 要监视的进程/线程的列表(默认情况下全部)。
  • -u USER,--user=USER 要监视的用户列表(默认为全部)
  • -P, --processes 只显示进程。通常 iotop 显示所有线程。
  • -a, --accumulated 显示累计 I/O 而不是带宽。在此模式下,iotop 显示自 iotop 启动以来已完成的 I/O 进程数。
  • -k, --kilobytes 使用千字节而不是人类友好的单位。在编写 iotop 的批处理模式脚本时,此模式非常有用。iotop 将以千字节为单位显示所有大小,而不是选择最合适的单位。
  • -t, --time 在每行上添加一个时间戳(暗示--batch)。每行的前缀都是当前时间。
  • -q, --quiet 抑制标题的某些行(暗示--batch)。此选项最多可以指定三次以删除标题行。
  • -q 列名只在第一次时打印
  • -qq 列名不打印
  • -qqq 不打印 IO 摘要

常用使用方法

[root@VM-0-16-centos ~]# iotop -otqqq
   TIME   TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND
16:57:42  6788 be/4 root        0.00 B/s    3.97 K/s  0.00 %  0.00 % barad_agent
16:57:43 12982 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.02 % [kworker/2:0]
16:57:46 12982 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.02 % [kworker/2:0]
16:57:47   291 be/3 root        0.00 B/s   23.80 K/s  0.00 %  0.28 % [jbd2/vda1-8]
  • -o 只显示有 IO 的进程
  • -t 显示时间
  • -qqq 不打印摘要
  • TID 线程号 -P 选项可以以进程显示
  • DISK READ 和 DISK WRITE 是 IO 速度
  • SWAPIN 就是 进程或者线程花费在交换内存时间的百分比
  • IO 进程或者线程花费在 IO 时间的百分比
  • PRIO 是 I/O 优先级 通过 ionice -p 也可以查看

I/O 优先级

Class1(RTreal-time):实时

子优级 0-7,数字越小 0(最高),越大 7(最低)

Real time

这个调度级别的进程产生的 IO 被优先处理,这个调度类型应小心使用,防止饿死其他进程 IO, 它也有 8 个优先级,数字越大分的的 IO 时间片越长

Class2(BE best-effort): 最佳效果,都能访问 默认

子优级 0-7,数字越小 0(最高),越大 7(最低)

Best-effort

这个类型共有 8 个优先级,分别为 0-7,数字越低,优先级越高,相同级别的优先级使用轮询的方式处理。适用于普通的进程。

在 2.6.26 之前,没有指定调度类型的进程使用"none" 调度类型,IO 调度器将其视作 Best-effort 进行处理,这个类别中进程优先级由 CPU 优先级计算得来:io_priority = (cpu_nice + 20) / 5

2.6.26 之后,没有指定调度类型的进程将从 CPU 调度类型继承而来,这个类别的优先级仍按照 CPU 优先级计算而来:io_priority = (cpu_nice + 20) / 5

Class3(idle):空闲

idle

只有在没有更高优先级的进程产生 IO 时,idle 才可以使用磁盘 IO,适用于哪些不重要的程序(如 updatedb),让它们在磁盘空闲时再产生 IO

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

上一篇:

下一篇:

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

黑寡妇

暂无简介

文章
评论
27 人气
更多

推荐作者

alipaysp_snBf0MSZIv

文章 0 评论 0

梦断已成空

文章 0 评论 0

瞎闹

文章 0 评论 0

寄意

文章 0 评论 0

似梦非梦

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文