zoukankan      html  css  js  c++  java
  • Linux iostat 命令详解

    简介:
    iostat是I/O statistics(输入/输出)统计的缩写。iostat工具对系统磁盘操作活动进行监控。

    安装:

    [root@hankyoon ~]# yum install sysstat

    语法:

    iostat [选项] [<时间间隔> [次数]]

    参数详解:

    -c:仅显示CPU使用情况
    -d:仅显示设备利用率
    -k:显示状态以千字节每秒为单位,而不使用块每秒
    -m:显示状态以兆字节每秒为单位
    -N:显示任何设备映射器设备的注册设备映射器名称。用于查看LVM2统计信息。
    -n:显示网络文件系统(NFS)报告。
    -p:仅显示块设备和所有被使用的其他分区的状态
    -t:显示每个报告产生的时间
    -V:显示版本
    -x:显示扩展状态

    输出详解:

    [root@hankyoon ~]# iostat
    Linux 2.6.32-754.22.1.el6.x86_64 (10-130-10-74)     09/09/2020     _x86_64_    (40 CPU)
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0.17    0.01    0.41    0.00    0.00   99.40
    
    Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
    sda               1.25         0.23        21.48    6919686  649466207
    sdb               4.55        66.16       374.91 1999989896 11333551479
    
    avg-cpu:总体cpu使用情况,对于多核,为所有cpu平均值。重点关注 "%iowait",表示CPU用于等待 IO 请求的时间。
    备注:
    %user:  显示在用户级(应用程序)执行时发生的CPU利用率百分比
    %nice:  以良好的优先级显示在用户级别执行时发生的CPU利用率百分比
    %system:显示在系统级(内核)执行时发生的CPU利用率百分比
    %iowait:显示当系统有未完成的磁盘I/O请求时,CPU或CPU空闲的时间百分比
    %steal: 显示在虚拟机监控程序为另一个虚拟pro提供服务时,虚拟CPU或CPU花费的非自愿等待时间的百分比实现
    %idle:  显示CPU空闲和系统没有未完成磁盘I/O请求的时间百分比
    
    Device: 磁盘设备的IO统计信息:
    tps:    每秒发送到设备的传输数。传输是对设备的I/O请求。
    Blk_read/s:每秒从设备读取的数据量,以块数表示。单位KB
    Blk_wrtn/s:以每秒块数表示的写入设备的数据量。单位KB
    Blk_read:读取的块的总数。单位KB
    Blk_wrtn:写入的块的总数。单位KB

    磁盘输出详解:

    [root@hankyoon ~]# iostat -dx -k 1
    Linux 2.6.32-754.22.1.el6.x86_64 (10-130-10-74)     09/09/2020     _x86_64_    (40 CPU)
    
    Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
    sda               0.00     1.17    0.00    1.24     0.11    10.74    17.39     0.00    0.73    2.55    0.72   0.44   0.06
    sdb               0.00     0.03    0.28    4.26    33.08   187.45    97.04     0.02    3.58    1.39    3.73   0.54   0.25
    
    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、iowait% 表示CPU等待IO时间占整个CPU周期的百分比,如果iowait值超过50%,或者明显大于%system、%user以及%idle,表示IO可能存在问题。
    
    2、avgqu-sz 表示磁盘IO队列长度,即IO等待个数。
    
    3await 表示每次IO请求等待时间,包括等待时间和处理时间。
    
    4、svctm 表示每次IO请求处理的时间。
    
    5、%util 表示磁盘忙碌情况,一般该值超过80%表示该磁盘可能处于繁忙状态。
  • 相关阅读:
    myeclipse web 包名保留字与servlet冲突
    java.lang.IllegalStateException
    request 和response 中的setCharacterEncoding区别
    java.lang.ClassNotFoundException: com.servlet.HandlesearchclassesServlet
    sql server 2008 com.microsoft.sqlserver.jdbc.SQLServerException: 通过端口 1433 连接到主机
    理解java reference
    Java 内存区域和GC机制
    Tomcat配置HTTPS方式
    百度分享不支持https的解决方案
    Spring对Hibernate事务管理
  • 原文地址:https://www.cnblogs.com/hankyoon/p/13637895.html
Copyright © 2011-2022 走看看