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)在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列中各列的含义具体如下。

  • %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

​ **范例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

​ **范例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

​ 以下是命令结果说明。

  • 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

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

11.8.1 命令详解

【命令星级】 ★★★★☆

【功能说明】

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

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

yum -y install iotop

【语法格式】

iotop [option]
iotop [选项]

​ **说明:**在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]
...

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

  • Total DISK READ:总的磁盘读取速度。
  • Total DISK WRITE:总的磁盘写入速度。
  • TID:进程PID值。
  • PRIO:优先级。
  • USER:用户。
  • DISK READ :磁盘读取速度。
  • DISK WRITE :磁盘写入速度。
  • SWAPIN:从swap分区读取数据占用的百分比。
  • IO> :I/O占用的百分比。
  • COMM:消耗I/O的进程名。

猜你喜欢

转载自blog.csdn.net/qq_25599925/article/details/126541890