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

    iostat用于输出CPU和磁盘I/O相关的统计信息

    iostat语法

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

    常用选项说明:

    -c:只显示系统CPU统计信息,即单独输出avg-cpu结果,不包括device结果
    -d:单独输出Device结果,不包括cpu结果
    -k/-m:输出结果以kB/mB为单位,而不是以扇区数为单位
    -x:输出更详细的io设备统计信息
    interval/count:每次输出间隔时间,count表示输出次数,不带count表示循环输出

    说明:更多选项使用使用man iostat查看

    常用实例

    1、iostat,结果为从系统开机到当前执行时刻的统计信息

     

    输出含义:

        avg-cpu: 总体cpu使用情况统计信息,对于多核cpu,这里为所有cpu的平均值。重点关注iowait值,表示CPU用于等待io请求的完成时间。

        Device: 各磁盘设备的IO统计信息。各列含义如下:

    Device: 以sdX形式显示的设备名称
    tps: 每秒进程下发的IO读、写请求数量
    KB_read/s: 每秒从驱动器读入的数据量,单位为K。
    KB_wrtn/s: 每秒从驱动器写入的数据量,单位为K。
    KB_read: 读入数据总量,单位为K。
    KB_wrtn: 写入数据总量,单位为K。

    2、iostat -x -k -d 1 2。每隔1S输出磁盘IO的详细详细,总共采样2次。

    以上各列的含义如下:
    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等待个数。

    3、await 表示每次IO请求等待时间,包括等待时间和处理时间

    4、svctm 表示每次IO请求处理的时间

    5、%util 表示磁盘忙碌情况,一般该值超过80%表示该磁盘可能处于繁忙状态。

    疑惑:dm-0/1/2是什么?怎么来的?

    查看磁盘信息:

    发现根本没有dm字样,那到底怎么来的?

    我们根据可以得知:

    dm-0、dm-1、dm-2的主设备号是253(是linux内核留给本地使用的设备号),次设备号分别是0、1、2,这类设备在/dev/mapper中

     

    看到dm-0、dm-1、dm-2的详细设备名后,知道这三个设备是属于centos逻辑卷组的lvm设备。

    这下找到dm的真正含义了~

  • 相关阅读:
    UVA 10462 Is There A Second Way Left?(次小生成树&Prim&Kruskal)题解
    POJ 1679 The Unique MST (次小生成树)题解
    POJ 2373 Dividing the Path (单调队列优化DP)题解
    BZOJ 2709 迷宫花园
    BZOJ 1270 雷涛的小猫
    BZOJ 2834 回家的路
    BZOJ 2506 calc
    BZOJ 3124 直径
    BZOJ 4416 阶乘字符串
    BZOJ 3930 选数
  • 原文地址:https://www.cnblogs.com/ultranms/p/9327784.html
Copyright © 2011-2022 走看看