• L78.linux命令每日一练 -- 第11章 Linux系统管理命令 -- iostat和iotop


    11.7 iostat:I/O信息统计

    11.7.1 命令详解

    【命令星级】 ★★★★☆

    【功能说明】

    ​ iostat是I/O statistics(输入/输出统计)的缩写,其主要功能是对系统的磁盘I/O操作进行监视。它的输出主要是显示磁盘读写操作的统计信息,同时也会给出CPU的使用情况。同vmstat命令一样,iostat命令也不能对某个进程进行深入分期,仅会对系统的整体情况进行分析。

    【语法格式】

    iostat [option] [delay [count]]
    iostat [选项] [时间间隔[次数]] 
    
    • 1
    • 2

    说明:

    ​ 1)在iostat命令及后面的选项里,每个元素之间都至少要有一个空格。

    ​ 2)delay表示两次输出之间的间隔时间。

    ​ 3)count表示按照delay指定的时间间隔统计的次数。

    【选项说明】

    ​ 表11-6针对该命令的参数选项进行了说明。

    ​ 表11-6 iostat命令的参数选项及说明

    在这里插入图片描述

    11.7.2 使用范例

    ​ **范例11-19:**显示所有设备的负载情况。

    [root@centos7 ~]# iostat		#如果省略“时间间隔”和“次数”参数,则仅显示一次报告后就退出。
    Linux 3.10.0-1127.19.1.el7.x86_64 (centos7) 	10/31/2020 	_x86_64_	(1 CPU)
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0.13    0.00    0.36    0.01    0.00   99.51
    
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    sda               0.49        12.33         7.80     335127     211950
    scd0              0.00         0.04         0.00       1028          0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    ​ 以下是命令结果说明。

    ​ 第1~2列中各列的含义具体如下。

    • %user:用户进程消耗的CPU时间百分比。
    • %nice:改变过优先级的进程占用的CPU时间百分比。
    • %system:系统(内核)进程消耗的CPU时间百分比。
    • %iowait:IO等待所占用的CPU时间百分比。
    • %steal:虚拟机强制CPU等待的时间百分比。
    • %idle:CPU处在空闲状态的时间百分比。

    ​ 第3~4列中各列的含义如下。

    • tips:表示该设备每秒的传输次数,“一次传输”的意思是“一次I/O请求”,多个逻辑请求可能会被合并为“一次I/O请求”,“一次传输”请求的大小是未知的。
    • kB_read/s :表示每秒读取的数据块数。
    • kB_wrtn/s:表示每秒写入的数据块数。
    • kB_read:表示读取的所有块数。
    • kB_wrtn:表示写入的所有块数。

    ​ **范例11-20:**定时显示所有信息。

    [root@centos7 ~]# iostat 2 3	#每隔2秒刷新显示一次,共显示3次。
    Linux 3.10.0-1127.19.1.el7.x86_64 (centos7) 	10/31/2020 	_x86_64_	(1 CPU)
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0.13    0.00    0.35    0.01    0.00   99.51
    
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    sda               0.48        12.15         7.68     335135     212014
    scd0              0.00         0.04         0.00       1028          0
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0.00    0.00    0.00    0.00    0.00  100.00
    
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    sda               0.00         0.00         0.00          0          0
    scd0              0.00         0.00         0.00          0          0
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0.00    0.00    0.00    0.00    0.00  100.00
    
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    sda               0.00         0.00         0.00          0          0
    scd0              0.00         0.00         0.00          0          0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    ​ **范例11-21:**只显示磁盘统计信息。

    [root@centos7 ~]# iostat -d 	#选项-d只显示磁盘的统计信息。
    Linux 3.10.0-1127.19.1.el7.x86_64 (centos7) 	10/31/2020 	_x86_64_	(1 CPU)
    
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    sda               0.48        12.10         7.66     335135     212109
    scd0              0.00         0.04         0.00       1028          0
    
    [root@centos7 ~]# iostat -d -k	#选项-k以KB为单位显示数据。
    Linux 3.10.0-1127.19.1.el7.x86_64 (centos7) 	10/31/2020 	_x86_64_	(1 CPU)
    
    Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
    sda               0.48        12.10         7.66     335135     212110
    scd0              0.00         0.04         0.00       1028          0
    
    [root@centos7 ~]# iostat -d -m	#选项-m以MB为单位显示数据。
    Linux 3.10.0-1127.19.1.el7.x86_64 (centos7) 	10/31/2020 	_x86_64_	(1 CPU)
    
    Device:            tps    MB_read/s    MB_wrtn/s    MB_read    MB_wrtn
    sda               0.48         0.01         0.01        327        207
    scd0              0.00         0.00         0.00          1          0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    ​ **范例11-22:**显示扩展信息。

    [root@centos7 ~]# iostat -d -x -k	#选项-x显示扩展信息。
    Linux 3.10.0-1127.19.1.el7.x86_64 (centos7) 	10/31/2020 	_x86_64_	(1 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     0.01    0.26    0.22    12.06     7.63    82.10     0.00   11.26   15.92    5.61   6.86   0.33
    scd0              0.00     0.00    0.00    0.00     0.04     0.00   114.22     0.00   65.17   65.17    0.00  53.06   0.00
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    ​ 以下是命令结果说明。

    • rrqm/s:每秒进行merge的读操作数目。
    • wrqm/s:每秒进行merge的写操作书面。
    • r/s:每秒完成的读I/O设备次数。
    • w/s每秒完成的写I/O设备次数。
    • rkB/s:每秒读入的千字节数。
    • wkB/s:每秒写入的千字节数。
    • avgrq-sz:设备平均每次进行I/O操作的数据大小(扇区)。
    • avgqu-sz:平均I/O队列长度。
    • await:设备平均每次I/O操作的等待时间(毫秒)。
    • r_await:设备读I/O操作的等待时间(毫秒)。
    • w_await:设备写I/O操作的等待时间(毫秒)。
    • svctm:设备平均每次I/O操作的服务时间(毫秒)。
    • %util:每秒钟用于I/O操作的百分比。

    ​ **范例11-23:**只查看CPU的统计信息。

    [root@centos7 ~]# iostat -c		#使用了-c选项只显示系统CPU的统计信息。
    Linux 3.10.0-1127.19.1.el7.x86_64 (centos7) 	10/31/2020 	_x86_64_	(1 CPU)
    
    avg-cpu:  %user   %nice %system %iowait  %steal   %idle
               0.13    0.00    0.35    0.01    0.00   99.52
    
    • 1
    • 2
    • 3
    • 4
    • 5

    11.8 iotop:动态显示磁盘I/O统计信息

    11.8.1 命令详解

    【命令星级】 ★★★★☆

    【功能说明】

    ​ iotop命令是一款实时监控磁盘I/O的工具,但必须以root用户的身份运行。使用iotop命令可以很方便地查看每个进程使用磁盘I/O的情况。

    ​ 最小化安装系统一般是没有这个命令的,需要使用yum命令额外安装,安装命令如下:

    yum -y install iotop
    
    • 1

    【语法格式】

    iotop [option]
    iotop [选项]
    
    • 1
    • 2

    ​ **说明:**在iotop命令及后面的选项里,每个元素之间都至少要有一个空格。

    【选项说明】

    ​ 表11-7针对该命令的参数选项进行了说明。

    ​ 表11-7 iotop命令的参数选项及说明
    在这里插入图片描述

    11.8.2 使用范例

    ​ **范例11-24:**不接任何参数启动iotop命令。

    [root@centos7 ~]# iotop
    Total DISK READ :	0.00 B/s | Total DISK WRITE :       0.00 B/s
    Actual DISK READ:	0.00 B/s | Actual DISK WRITE:       0.00 B/s
       TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMM
      2955 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.02 % [kw~:2]
         1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % sys~ 22
         2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kt~dd]
         4 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kw~0H]
         6 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ks~/0]
         7 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [mi~/0]
         8 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rc~bh]
         9 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [rc~ed]
        10 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [lr~in]
        11 rt/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [wa~/0]
       524 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [xf~a1]
        13 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kd~fs]
        14 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [netns]
        15 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kh~kd]
        16 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [wr~ck]
        17 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ki~yd]
        18 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [bi~et]
        19 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [bi~et]
        20 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [bi~et]
        21 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kb~kd]
        22 be/0 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [md]
    ...
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    ​ 以下是命令结果的具体说明。

    • Total DISK READ:总的磁盘读取速度。
    • Total DISK WRITE:总的磁盘写入速度。
    • TID:进程PID值。
    • PRIO:优先级。
    • USER:用户。
    • DISK READ :磁盘读取速度。
    • DISK WRITE :磁盘写入速度。
    • SWAPIN:从swap分区读取数据占用的百分比。
    • IO> :I/O占用的百分比。
    • COMM:消耗I/O的进程名。
  • 相关阅读:
    Spring Security 从入门到精通之获取认证用户信息(四)
    一:图形的位置和尺寸测量
    算法——顺序表(1)
    【tomcat】tomcat系统架构以及核心启动流程
    如何用建木CI构建前端E2E质量自查
    Ollama 配置多并发和多模型
    【java吐血整理】
    Day802.JVM热点问题 -Java 性能调优实战
    vue 常用开发父子组件的通信
    d重载操作符
  • 原文地址:https://blog.csdn.net/qq_25599925/article/details/126541890