大家好!我是 Sean!
上回说到 iostat,明天讲一个和它长得很像的命令 iotop,性能也是有些相似的,iotop 是一个用来监督磁盘 I / O 应用情况的工具。
iotop(监督磁盘 I / O 应用情况的工具)
iotop 命令 是一个用来监督磁盘 I / O 应用情况的 top 类工具。iotop 具备与 top 类似的 UI,其中包含 PID、用户、I/O、过程等相干信息。Linux 下的 IO 统计工具如 iostat,nmon 等大多数是只能统计到 per 设施的读写状况,如果你想晓得每个过程是如何应用 IO 的就比拟麻烦,应用 iotop 命令能够很不便的查看。
iotop 应用 Python 语言编写而成,要求 Python2.5(及以上版本)和 Linux kernel2.6.20(及以上版本)。iotop 提供有源代码及 rpm 包,可从其官方主页下载。
CentOS 里一条命令即可装置:
yum install iotop
命令参数
-o:只显示有 io 操作的过程
-b:批量显示,无交互,次要用作记录到文件。-n NUM:显示 NUM 次,次要用于非交互式模式。-d SEC:距离 SEC 秒显示一次。-p PID:监控的过程 pid。-u USER:监控的过程用户。
iotop 罕用快捷键
左右箭头:扭转排序形式,默认是按 IO 排序。r:扭转排序程序。o:只显示有 IO 输入的过程。p:过程 / 线程的显示方式的切换。a:显示累积使用量
q:退出。
常用命令
iotop
默认显示信息
iotop -t
减少工夫戳列
iotop -d 2 -n 3
2s 刷新 1 次,刷新三次信息后完结
iotop -u root
仅显示 root 用户下过程的 io 信息
iotop -a
以累计形式显示信息,数据从 iotop 命令启动开始做计算
iotop -b > iotop.txt
非交互模式,能够用重定向间断记录一段时间的信息
iotop -k
以 kB 单位显示读写数据信息
iotop -q
列名称只在第一次迭代时打印
iotop -qq
列名从不打印
iotop -qqq
不会打印 I / O 摘要
命令详解
默认显示信息
iotop
Total DISK READ
Total DISK WRITE
一方面示意了过程和内核线程之间的总的读写带宽,另一方面也示意内核块设施子系统的。Actual DISK READ
Actual DISK WRITE
示意在内核块设施子系统和上面硬件(HDD、SSD 等等)对应的理论磁盘 I/O 带宽。
TID 线程号或过程号
PRIO 线程运行时的 I / O 优先级
USER 过程所属用户
DISK READ 刷新工夫距离内读取数据量
DISK WRITE 刷新工夫距离内写入数据量
SWAPIN 每个过程的替换使用率
IO 每个过程的 I/O 利用率,蕴含磁盘和替换
COMMAND 过程名字
减少工夫戳列
iotop -t
以 kB 单位显示读写数据信息
iotop -k
数据查看技巧
其实 iotop 命令显示的信息非常明显了,高深莫测,我平时次要是用来具体定位到是哪个过程始终占用磁盘 IO,上次讲的 iostat 只能初步看出零碎的磁盘 IO 是否达到瓶颈,然而也不肯定到了瓶颈,而是某些过程搞怪导致的,这是能够用 iotop 间断察看过程级别的 IO 状况,就能够很快找到哪个家伙在搞怪了。
思维导图总结
明天的分享就到这里啦!感激各位的浏览!码字不易,如果本文对你有帮忙的话,帮忙点个赞吧~ 哈哈。
性能监控命令系列完结后会将思维导图分享进去,欢送关注公众号“程序员 Sean”。