linux磁盘IO查看命令iotop

linux服务器如果磁盘性能不佳,或者进程操作IO量超过磁盘负荷,都会导致磁盘IO响应缓慢,甚至出现宕机的情况。很多人会说,我有iostat命令啊。但是如果需要找到哪个进程对磁盘IO操作压力最大,iostat是不能帮我们直接呈现的,这时候,另一个利器iotop就派上用场了。

iotop命令

iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看。

iotop安装

一般iotop默认是没有安装的,iotop安装也很简单,你需要如下操作(其它linux版本可自行搜索安装方法):

CentOS/Redhat:yum install iotop
Debian/Ubuntu:apt-get install iotop
编译安装:

wget http://guichaz.free.fr/iotop/files/iotop-0.6.tar.gz
tar zxf iotop-0.4.4.tar.gz
python setup.py build
python setup.py install

iotop输出

iotop输出很容易看懂:

第一行:Read和Write速率总计
第二:实际的Read和Write速率
第三行:参数如下:

  • 线程ID(按p切换为进程ID)
  • 优先级
  • 用户
  • 磁盘读速率
  • 磁盘写速率
  • swap交换百分比
  • IO等待所占的百分比
  • 线程/进程命令

常用参数

-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汇总。

交互按键

和top命令类似,iotop也支持以下几个交互按键。

left和right方向键:改变排序。
r:反向排序。
o:切换至选项–only。
p:切换至–processes选项。
a:切换至–accumulated选项。
q:退出。
i:改变线程的优先级。

写在最后

itop通过方向键选择按哪一列来排序,基本上我们会以此来判断当前哪些线程/进程对磁盘有IO操作,以及操作的IO速率,但是要判断磁盘IO负载是否已饱和,还需要结合top命令,当前磁盘最大性能等指标综合判断。
加入群聊一起学习交流:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值