<b>详解iostat -dx 1号令监控IO性能</b>[Linux安全]
本文“<b>详解iostat -dx 1号令监控IO性能</b>[Linux安全]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
网站的很多性能问题终究城市归结到IO头上,所以说理解iostat号令是非常有必要的.
小本领:你知道iostat是从那边得到IO相关信息的吗?利用strace号令能跟踪到答案:
shell> strace -eopen iostat open("/proc/diskstats", O_RDONLY)
注:关于diskstats的阐明,拜见官方文档(field1 ~ field11).
我最常用的iostat号令格局是:『iostat -dx 1』,意思是每隔一秒显示一次IO扩大信息.
shell> iostat -dx 1 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s sda 0.18 37.71 0.65 2.63 50.18 322.08 avgrq-sz avgqu-sz await svctm %util 113.46 0.35 107.49 1.67 0.55 Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s sda 0.00 4208.00 0.00 165.00 0.00 163872.00 avgrq-sz avgqu-sz await svctm %util 993.16 119.54 1144.36 6.07 100.10
注:开首显示的是自系统启动开始的平均值,背面显示的是每段时间隔断里的平均值.
假如你的操作系统里没有iostat号令的话,除了从源代码安装,还可以利用下面方法:
- Centos/Fedora的安装方法是:yum install sysstat
- Debian/Ubuntu的安装方法是:aptitude install sysstat
介绍一下相关参数的含义:
- rrqm/s:行列中每秒钟归并的读恳求数目
- wrqm/s:行列中每秒钟归并的写恳求数目
- r/s:每秒钟完成的读恳求数目
- w/s:每秒钟完成的写恳求数目
- rsec/s:每秒钟读取的扇区数目
- wsec/s:每秒钟写入的扇区数目
- avgrq-sz:平均恳求数据的大小
- avgqu-sz:平均恳求行列的长度
- await:平均每次恳求的等候时间
- svctm:平均每次恳求的服务时间
- util:设备的操纵率
注:倡议对比源代码来记忆这些参数都是若何计算出来的.
关于这些参数,相对重要的是背面几个,具体来说是:util,svctm,await,avgqu-sz:
util是设备的操纵率.假如它接近100%,普通阐明设备本领趋于饱和(并不断对,比方设备有写缓存).有时刻大概会呈现大于100%的情形,这大都是计算时四舍五入惹起的,但假如是磁盘阵列等多盘系统,因为具有并发IO操作的本领,也会呈现大于100%的情形.
svctm是平均每次恳求的服务时间.从源代码里可以看出:(r/s+w/s)*(svctm/1000)=util.举例子:假如util到达100%,那么此时svctm=1000/(r/s+w/s),假定IOPS是1000,那么svctm大约在1毫秒左右,假如长时间大于这个数值,阐明系统出了问题.不过前面已经说过在磁盘阵列等多盘系统中util大概呈现偏大的情形,所以svctm呼应的也大概偏大.
await是平均每次恳求的等候时间.这个时间包含了行列时间和服务时间,也就是说,普通情形下,await大于svctm,它们的差值越小,则阐明行列时间越短,反之差值越大,行列时间越长,阐明系统出了问题.
avgqu-sz是平均恳求行列的长度.毫无疑问,行列长度越短越好.
阐明:svctm参数在将来某个版本的iostat会被删除,详见官方文档.
别的,有时刻iostat会显示一些很离谱的后果,具体缘由详见官方FAQ给出的注释.
以上是“<b>详解iostat -dx 1号令监控IO性能</b>[Linux安全]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |