命令详解
重要星级:
★★★★☆
功能说明:
iotop 命令是一款实时监控磁盘 I/O 的工具, 但必须以 root 用户的身份运行。使用 iotop 命令可以很方便的查看每个进程使用磁盘 I/O 的情况。
最小化安装系统一般是没有这个命令的,需要使用 yum 命令来额外安装: yum install -y iotop
语法格式:
iotop [option]
iotop [选项]
说明:
在 iotop 命令及后面的选项里,每个元素之间都至少要有一个空格。
选项说明:
-o :显示正在使用 I/O 的进程或者线程,默认是显示所有。 ※
-b :非交互模式,一般用来记录日志
-n NUM:设置监测的次数,默认无限。在非交互模式下很有用
-d :设置显示的间隔秒数。 -p :只显示指定 PID 的信息。 ※ -u :显示指定用户的信息。 -P :只显示进程,一般是显示所有的线程。 -a :显示从 iotop 启动后每个线程完成了的 I/O 总数。 -k :设置显示单位为 KB。 -t :在每一行前添加一个当前的时间。
man 手册翻译:
名称 iotop - 简单的 top 类 I/O 监视器 总览 iotop [OPTIONS] 描述 iotop 根据 Linux 内核( 需要2.6.20及以上 )来监测 I/O,并且能显示当前进程/线程的 I/O 使用率。 Linux 内核 build 的事后哦,需要开启 CONFIG_TASK_DELAY_ACCT 和CONFIG_TASK_IO_ACCOUNTING 选项,这些选项依赖于 CONFIG_TASKSTATS。 在采样周期里,iotop 按列显示每个进程/线程的 I/O 读写带宽,同时也显示进程/线程做 swap 交换和等待 I/O 所占用的百分比。 每一个进程都会显示 I/O 优先级 ( class/level ),另外在最上面显示每个采样周期内的读写带宽。使用左右箭头来改变排序,r 用来改变排序顺序,o 用来触发 --only 选项,p 用来触发 --processes 选项。 a 用来触发 --accumulated 选项,q 用来退出,i 用来改变进程或线程的监测优先级,其它任继健是强制刷新。 选项: --version 显示版本号然后退出 -h, --help 显示帮助然后退出 -o, --only 只显示正在产生I/O的进程或线程。除了传参,可以在运行过程中按o生效。 -b, --batch 非交互模式,一般用来记录日志 -n NUM, --iter=NUM 设置监测的次数,默认无限。在非交互模式下很有用 -d SEC, --delay=SEC 设置每次监测的间隔,默认1秒,接受非整形数据例如1.1 -p PID, --pid=PID 指定监测的进程/线程 -u USER, --user=USER 指定监测某个用户产生的I/O -P, --processes 仅显示进程,默认iotop显示所有线程 -a, --accumulated 显示累积的I/O,而不是带宽 -k, --kilobytes 使用kB单位,而不是对人友好的单位。在非交互模式下,脚本编程有用。 -t, --time 加上时间戳,非交互非模式。 -q, --quiet 禁止头几行,非交互模式。有三种指定方式。 -q 只在第一次监测时显示列名 -qq 永远不显示列名。 -qqq 永远不显示I/O汇总。
使用范例:
不使用任何参数启动 iotop 命令( iotop ):
[root@localhost :~]# iotop Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 1 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % systemd --switched-root --system --deserialize 22 2 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kthreadd] 3 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [ksoftirqd/0] 5 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [kworker/0:0H] 7 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [migration/0] 8 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_bh] 9 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [rcu_sched] 10 be/0 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [lru-add-drain] 11 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/0] 12 rt/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % [watchdog/1] ...
以下是命令结果的具体说明:
1.Toal DISK READ :总的磁盘读取速度。 2.Toal DISK WRITE :总的磁盘写入速度。 3.TID :进程的 pid 值。 4.PRIO :优先级。 5.USER :用户。 6.DISK READ :磁盘读取速度。 7.DISK WRITE :磁盘写入速度。 8.SWAPIN :从 swap 分区读取数据占用的百分比。 9.IO :I/O 占用的百分比。 10.COMMAND :消耗 I/O 的进程名。
根据 pid 查看指定进程信息 ( iotop -p pid ):
[root@localhost :~]# iotop -p 1321 Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND
1321 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % sshd: root@pts/0
参考资料: