• Linux IO监控命令之iostat命令详解


    简介

    iostat主要用于监控系统设备的io负载情况,iostat首次运行是现实自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。

    语法

    iostat [ -c ] [ -d ] [ -N ] [ -n ] [ -h ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ device [...] | ALL ] [ -p [ device [,...] | ALL ] ] [ interval [ count ] ]

    入门使用

    iostat可以显示CPU和IO系统的负载情况及分区状态信息。直接执行iostat显示下面内容:

    # iostat
    Linux 2.6.32-573.el6.x86_64 (node-5)     06/14/2017     _x86_64_    (2 CPU)
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0.12    0.00    0.32    0.56    0.00   99.00
    
    Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
    sda               4.38       169.17        28.12     283700      47162
    scd0              0.02         0.16         0.00        264          0

    各个输出项目的含义如下:

    第一行显示的为当前系统内核版本,系统时间,cpu核数。
    
    avg-cpu段:
    %user:在用户级别运行所使用的CPU的百分比。
    %nice :nice操作所使用的CPU的百分比。
    %system:在系统级别(kernel)运行所使用的CPU的百分比。
    %iowait:CPU等待硬件I/O时,所占用的百分比。
    %steal:管理程序维护另一个虚拟处理器时,虚拟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简单使用

    # iostat  显示一条统计记录,包括所有的CPU和设备.
    # iostat -d 2 每隔2秒,显示一次设备统计信息.
    # iostat -d 2 6 每隔2秒,显示一次设备统计信息.总共输出6次.
    # iostat -x hda hdb 2 6 每隔2秒显示一次hda,hdb两个设备的扩展统计信息,共输出6次.
    # iostat -p sda 2 6 每隔2秒显示一次sda及上面所有分区的统计信息,共输出6次.

    iostat -x 参数说明

    iostat -x会输出扩展信息,显示信息如下。

    Linux 2.6.32-573.el6.x86_64 (node-5)     06/14/2017     _x86_64_    (2 CPU)
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0.06    0.00    0.19    0.28    0.00   99.47
    
    Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
    sda               1.03     1.21    1.63    0.54    83.63    13.96    45.00     0.02   10.37    4.34   28.61   2.79   0.60
    scd0              0.00     0.00    0.01    0.00     0.08     0.00     8.00     0.00    4.97    4.97    0.00   4.97   0.00

    第一行跟avg-cpu内容显示与前面的介绍一样,就不再详细说明。

    rrqm/s      将读入请求合并后,每秒发送到设备的读入请求数.
    wrqm/s      将写入请求合并后,每秒发送到设备的写入请求数.
    r/s         每秒发送到设备的读入请求数.
    w/s         每秒发送到设备的写入请求数.
    rsec/s      每秒从设备读入的扇区数.
    wsec/s      每秒向设备写入的扇区数.
    rkB/s       每秒从设备读入的数据量,单位为K.
    wkB/s       每秒向设备写入的数据量,单位为K.
    avgrq-sz    发送到设备的请求的平均大小,单位是扇区.
    avgqu-sz    发送到设备的请求的平均队列长度.
    await       I/O请求平均执行时间.包括发送请求和执行的时间.单位是毫秒.
    svctm       发送到设备的I/O请求的平均执行时间.单位是毫秒.
    %util       在I/O请求发送到设备期间,占用CPU时间的百分比。用于显示设备的带宽利用率,当这个值接近100%时,表示设备带宽已经占满。
  • 相关阅读:
    题目1009:二叉搜索树
    腾讯云API 生成Authentication Header加密字符串 C#代码示例
    《神经网络与深度学习》
    《神经网络与深度学习》第一章 使用神经网络来识别手写数字(三)- 用Python代码实现
    Rust语言的多线程编程
    C# DataTable的Select()方法不支持 != 判断
    《神经网络与深度学习》第一章 使用神经网络来识别手写数字(二)- 用梯度下降来训练学习
    C# 对多个文件进行zip压缩
    《神经网络与深度学习》:第一章 使用神经网络来识别手写数字(一)
    谷歌浏览器如何查看或获取Cookie字符串
  • 原文地址:https://www.cnblogs.com/ebay/p/7011197.html
Copyright © 2020-2023  润新知