当前位置: > Linux教程 > 系统运维 >

磁盘IO高分析

时间:2016-12-22 13:31来源:linux.it.net.cn 作者:IT

Linux # iostat -x -k -d 1Linux 2.6.16.60-0.21-smp (linux) 06/13/12……Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await svctm %utilsda 0.00 9915.00 1.00 90.00 4.00 34360.00 755.25 11.79 120.57 6.33 57.60

  • rrqm/s: 每秒对该设备的读请求被合并次数,文件系统会对读取同块(block)的请求进行合并
  • wrqm/s: 每秒对该设备的写请求被合并次数
  • r/s: 每秒完成的读次数
  • w/s: 每秒完成的写次数
  • rkB/s: 每秒读数据量(kB为单位)
  • wkB/s: 每秒写数据量(kB为单位)
  • avgrq-sz:平均每次IO操作的数据量(扇区数为单位)
  • avgqu-sz: 平均等待处理的IO请求队列长度
  • await: 平均每次IO请求等待时间(包括等待时间和处理时间,毫秒为单位)
  • svctm: 平均每次IO请求的处理时间(毫秒为单位)
  • %util: 采用周期内用于IO操作的时间比率,即IO队列非空的时间比率

     

    对于以上示例输出,我们可以获取到以下信息:

    1. 每秒向磁盘上写30M左右数据(wkB/s值)
    2. 每秒有91次IO操作(r/s+w/s),其中以写操作为主体
    3. 平均每次IO请求等待处理的时间为120.57毫秒,处理耗时为6.33毫秒
    4. 等待处理的IO请求队列中,平均有11.79个请求驻留

     

    以上各值之间也存在联系,我们可以由一些值计算出其他数值,例如:

    util = (r/s+w/s) * (svctm/1000)

    对于上面的例子有:util = (1+90)*(6.33/1000) = 0.57603



(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容