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的真正含义了~

  • 相关阅读:
    微软铁杆兄弟诺基亚开发基于Linux的手机
    Linux目录递归改变文件名大小写
    boa-0.94.13 移植到 ARM
    LINUX如何设置只允许SSH登陆?
    9.4. 使用 I/O 内存
    I-O 端口和 I-O 内存
    Linux 的虚拟文件系统--各结构之间的联系
    Linux 系统调用
    【poj2528】Mayor's posters
    【poj3225】Help with Intervals
  • 原文地址:https://www.cnblogs.com/ultranms/p/9327784.html
Copyright © 2011-2022 走看看