🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
**iotop**是一个Python程序,具有一个类似于top的UI,用来监视磁盘I/O使用状况的,可以显示哪个进程产生了I/O。**用于定位负载来源的进程**。 >使用iotop命令需要Python≥2.7和Linux内核≥2.6.20,并启用TASK_DELAY_ACCT CONFIG_TASKSTATS、TASK_IO_ACCOUNTING和CONFIG_VM_EVENT_COUNTERS选项。 **安装命令:**`yum -y install iotop` > 命令格式:iotop [option] > option: > * -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 交互模式下输出,可以看出哪些进程正在读写磁盘 Total DISK READ : 0.00 B/s | Total DISK WRITE : 19.43 K/s Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 15.54 K/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 6706 be/4 mongo 0.00 B/s 15.54 K/s 0.00 % 0.00 % mongod -f /www/server/mongodb/config.conf [ftdc] 493 be/3 root 0.00 B/s 3.89 K/s 0.00 % 0.00 % auditd ``` iotop快捷键 ``` 左右箭头:改变排序方式,默认是按IO排序。 r:改变排序顺序。反向排序 o:只显示有IO输出的进程。 p:进程/线程的显示方式的切换。 a:显示累积使用量。 q:退出。 ``` **使用实例:** 1. iotop命令找到消耗I/O最高的进程:iotop -oP 2. 监控用户root的I/O :iotop -u root 3. 监控进程号是1的I/O:iotop -p 1 4. 将iotop命令输出信息写入日志:nohup iotop -b -o -n 10 -d 5 -t > /tmp/iotop.log &