zoukankan      html  css  js  c++  java
  • iostat

    # iostat
    iostat用于输出CPU和磁盘I/O相关的统计信息. ---用于报告中央处理器统计信息
    # iostat
    Linux 2.6.32-431.el6.x86_64 (vm4.cluster.com) 09/17/2017 _x86_64_ (4 CPU)
    avg-cpu: %user %nice %system %iowait %steal %idle
    0.59 0.00 0.67 0.89 0.00 97.84
    Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
    sda 1.94 57.33 22.14 1714948 662300
    scd0 0.00 0.09 0.00 2560 0
    说明:
    avg-cpu段:
    %user: 在用户级别运行所使用的CPU的百分比;
    %nice: nice操作所使用的CPU的百分比;
    %sys: 在系统级别(kernel)运行所使用CPU的百分比;
    %iowait: CPU等待硬件I/O时,所占用CPU百分比;
    %idle: CPU空闲时间的百分比;
    Device段:
    tps:每秒钟发送到的I/O请求数;
    Blk_read /s:每秒读取的block数;
    Blk_wrtn/s:每秒写入的block数;
    Blk_read:读入的block总数;
    Blk_wrtn:写入的block总数;
    ----------------------------------------------
    iostat命令的参数说明
    -c:仅显示 CPU 统计信息。与 -d 选项互斥。
    -d:仅显示磁盘统计信息。与 -c 选项互斥。
    -k:以 KB为单位显示每秒的磁盘请求数,默认单位块。
    -m:以MB为单位显示每秒的磁盘请求数。
    -N:显示磁盘阵列信息
    -n:显示网络文件系统NFS报告。此选项仅适用于Linux内核2.6.17以上版本。
    -p device | ALL
    与 -x 选项互斥,用于显示块设备及系统分区的统计信息,也可以在 -p 后指定一个设备名,如:
    # iostat -p hda
    或显示所有设备:
    # iostat -p ALL
    -t 在输出数据时,打印收集数据的时间。
    -V 打印版本号和帮助信息。
    -x 输出扩展信息。
    iostat 2 ----每两秒显示所有的分区IO状态
    # iostat /dev/sda* 2 ----每两秒显示所有分区的io状态
    # iostat -dx 5
    # iostat -kx -d sda 2 3
    ----查看sda的IO状态报告,每两秒打印一次,总共三次 ; -k是表示把默认以每秒多少块显示成每次多少KB;-x打印了一些扩展选项
    说明:
    rrqm/s:每秒的读请求数 ---每秒需要读取需求的数量
    wrqm/s:每秒的写请求数 ---每秒需要写入需求的数量
    r/s:每秒完成多少个读IO ---每秒实际读取需求的数量
    w/s:每秒完成多少个写IO <-- IOPS=(r/s+w/s) ---每秒实际写入需求的数量
    rsec/s:每秒读取了多少扇区的数据。 一个扇区=512字节数据 ---每秒读取区段的数量
    wsec/s:每秒写了多少扇区的数据。 ---每秒写入区段的数量
    rkB/s:每秒读了多少kb数据 ---每秒实际读取的大小,单位为KB
    wkB/s:每秒写了多少kb数据 ---每秒实际写入的大小,单位为KB
    avgrq-sz:平均请求数据的大小 ---需求的平均大小区段
    avgqu-sz:是平均请求队列的长度。毫无疑问,队列长度越短越好。 ---需求的平均队列长度
    await:平均完成IO需要等待多少时间, 包含服务时间,还有在队列中等待的时间。 ---等待I/O平均的时间(milliseconds)
    svctm:服务时间,从IO请求产生到,完成IO的时间。从源代码里可以看出: ---I/O需求完成的平均时间
    (r/s+w/s)*(svctm/1000)=util。
    举例子:如果util达到100%,那么此时svctm=1000/(r/s+w/s),
    假设IOPS是1000,那么svctm大概在1毫秒左右,如果长时间大于这个数值,
    说明系统出了问题。
    不过前面已经说过在磁盘阵列等多盘系统中util可能出现偏大的情况,所以svctm相应的也可
    能偏大。
    %util:磁盘带宽使用百分比。如果一直都是100%,说明磁盘很忙。 ---被I/O需求消耗的CPU百分比
  • 相关阅读:
    SpringMVC的各种注解
    ThreadLocal的一些总结
    HashTable和HashMap
    SaxReader读取xml
    Java多线程(七):ReentrantLock
    Java多线程(六):wait(),notify()和notifyAll()
    Java多线程(五):死锁
    Java多线程(四):volatile
    Java多线程(三):synchronized
    每日一题,每日一字
  • 原文地址:https://www.cnblogs.com/skyzy/p/9433491.html
Copyright © 2011-2022 走看看