iostat命令报告CPU和I / O统计信息

Iostat命令是用于通过观察设备相对于其平均传输速率的活动时间监视系统输入/输出设备负载的命令iostat创建可用于更改系统配置的报告,以更好地平衡物理磁盘之间的输入/输出。

iostat包含在sysstat包中。如果您没有,则需要先安装。

在RedHat / CentOS / Fedora上

#yum install sysstat

在Debian / Ubuntu / Linux Mint上

#apt-get install sysstat

1)获取报告和统计数据

要运行它,只需在控制台中使用该命令即可。这是一个样本。

#iostat

Linux 3.10.0-514.16.1.el7.x86_64(centos-01)05/22/2017 _x86_64(1个CPU)

avg-cpu:%user%nice%system%iowait%steal%idle

           0.69 0.00 0.19 0.02 0.04 99.08

器件:tps kB_read / s kB_wrtn / s kB_read kB_wrtn

vda 1.00 3.40 14.08 1552428 6423128


第一部分包含CPU报告

  • %user:  在用户(应用程序)级别执行时发生的CPU利用率百分比

  • %nice:  在具有良好优先级的用户级别执行时发生的CPU利用率百分比

  • %system:  在系统(内核)级别执行时发生的CPU利用率百分比

  • %iowait:  系统具有未完成的磁盘I / O请求的CPU或CPU空闲时间的百分比

  • %steal:  虚拟机管理程序为另一个虚拟处理器提供服务时,虚拟CPU或CPU在非自愿等待中所花费的时间百分比

  • %idle:  CPU或CPU空闲且系统没有未完成的磁盘I / O请求的时间百分比

第二部分包含设备利用率报告

  • 设备:/ dev目录中列出的设备/分区名称

  • tps:  颁发给设备的每秒传输次数。更高的tps意味着处理器更忙

  • Blk_read / s:显示从设备读取的数据量,以每秒的块数(千字节,兆字节)表示

  • Blk_wrtn / s:  写入设备的数据量,以每秒块数(千字节,兆字节)表示

  • Blk_read:显示读取的块总数

  • Blk_wrtn:显示写入的块总数

iostat使用以下文件创建报告。

  • /proc/stat 包含系统统计信息

  • /proc/uptime 包含系统正常运行时间

  • /proc/diskstats 包含磁盘统计信息

  • /sys 包含块设备的统计信息。

  • /proc/self/mountstats 包含网络文件系统的统计信息。

  • /dev/disk 包含持久性设备名称。

2)显示更多详细信息统计信息

iostat命令为I / O设备报告利用率。可以使用-x选项扩展深度诊断的统计结果

#iostat -x

Linux 3.10.0-514.16.1.el7.x86_64(centos-01)05/23/2017 _x86_64_(1 CPU)

avg-cpu:%user%nice%system%iowait%steal%idle

           0.69 0.00 0.19 0.02 0.04 99.06

设备:rrqm / s wrqm / sr / sw / s rkB / s wkB / s avgrq-sz avgqu-sz await r_await w_await svctm%util

vda 0.01 1.10 0.16 0.84 3.37 14.04 34.88 0.00 2.35 1.41 2.53 0.40 0.04


    .    avg-cpu: 它是cpu块信息

    .    Devide: 它是设备块信息。确保你在好的设备上

    .    %util:存储设备有多少时间工作(忙碌)。

    .    svctm:表示您的I / O子系统在忙时响应请求的速度有多快。实际上,你加载系统越少,svctm越高。

    .    await:表示请求的通过速度。这只是一个平均值。

    .    avgqu-sz:请求队列中有多少请求。低=您的系统未加载,或者已经序列化I / O并且无法正确使用底层存储。高=您的软件堆栈可扩展到足以正确加载底层I / O.

    .    avgrq-sz:平均请求大小。可以指示发生了哪种工作负载。

    .    wsec / srsec / s:每秒读取和写入的扇区。除以2048,你将获得每秒兆字节。

    .    r / sw / s:每秒读写请求数。这些数字是I / O容量数字,但当然,取决于I / O子系统的基础压力(队列大小!),它们可以变化。

    .    rrqm / swrqm / s:块层合并了多少个请求。

3)仅显示cpu统计信息

可以通过-c选项显示我们的cpu的统计信息和报告

$ iostat -c

Linux 4.4.0-78-generic(shinigami)05/23/2017 _x86_64_(4 CPU)

avg-cpu:%user%nice%system%iowait%steal%idle

          12.93 0.08 2.40 3.35 0.00 81.24


4)仅显示设备报告

可以仅使用-d选项显示设备利用率的状态它将列出每个连接设备的信息

$ iostat -d

Linux 4.4.0-78-generic(shinigami)05/23/2017 _x86_64_(4 CPU)

器件:tps kB_read / s kB_wrtn / s kB_read kB_wrtn

sda 17.73 510.80 632.10 5127420 6345037

mmcblk0 0.03 0.63 0.00 6282 0


5)仅显示设备的扩展I / O统计信息

我们可以在一侧显示扩展统计数据,从另一侧显示扩展统计数据。这意味着我们只能为具有-xd以下选项的设备显示扩展统计信息

$ iostat -xd

Linux 4.4.0-78-generic(shinigami)05/23/2017 _x86_64_(4 CPU)

设备:rrqm / s wrqm / sr / sw / s rkB / s wkB / s avgrq-sz avgqu-sz await r_await w_await svctm%util

sda 0.48 25.33 8.43 7.81 417.06 540.42 117.88 1.18 72.83 35.98 112.62 6.18 10.03

mmcblk0 0.30 0.00 0.02 0.00 0.49 0.00 49.47 0.00 3.73 3.73 4.00 2.99 0.01


6)以千字节或兆字节为单位捕获统计信息

默认情况下,iostat以字节为单位测量I / O系统。为了便于阅读,我们可以转换iostat以向我们显示以千字节或兆字节为单位的报告。

只需添加-k参数即可创建包含千字节单位的报告

$ iostat -k

Linux 4.4.0-78-generic(shinigami)05/23/2017 _x86_64_(4 CPU)

avg-cpu:%user%nice%system%iowait%steal%idle

          12.54 0.08 2.37 3.41 0.00 81.61

器件:tps kB_read / s kB_wrtn / s kB_read kB_wrtn

sda 16.18 345.76 504.55 5622164 8204113

mmcblk0 0.02 0.39 0.00 6282 0


-m参数以创建具有兆字节单位的报告。

$ iostat -m

Linux 4.4.0-78-generic(shinigami)05/23/2017 _x86_64_(4 CPU)

avg-cpu:%user%nice%system%iowait%steal%idle

          12.54 0.08 2.37 3.41 0.00 81.61

设备:tps MB_read / s MB_wrtn / s MB_read MB_wrtn

sda 16.18 0.34 0.49 5490 8012

mmcblk0 0.02 0.00 0.00 6 0


7)延迟显示cpu和设备统计信息

vmstat相同,作为统计工具,使用它的最佳方法是使用delay参数。随着延迟,我们可以看到趋势是什么。以下是一些延迟运行iostat的示例。

以千字节为单位运行iostat,间隔2秒,报告3次

#iostat -k 2 3

Linux 3.10.0-514.16.1.el7.x86_64(centos-01)05/23/2017 _x86_64_(1 CPU)

avg-cpu:%user%nice%system%iowait%steal%idle

           0.70 0.00 0.19 0.02 0.03 99.05

器件:tps kB_read / s kB_wrtn / s kB_read kB_wrtn

vda 1.00 3.33 14.03 1561788 6572152

avg-cpu:%user%nice%system%iowait%steal%idle

           0.50 0.00 0.00 0.00 0.00 99.50

器件:tps kB_read / s kB_wrtn / s kB_read kB_wrtn

vda 0.00 0.00 0.00 0 0

avg-cpu:%user%nice%system%iowait%steal%idle

           3.52 0.00 0.50 0.00 0.00 95.98

器件:tps kB_read / s kB_wrtn / s kB_read kB_wrtn

vda 1.51 0.00 12.06 0 24


显示仅CPU报告,间隔为2秒,报告为2次

#iostat -c 2 2

Linux 3.10.0-514.16.1.el7.x86_64(centos-01)05/23/2017 _x86_64_(1 CPU)

avg-cpu:%user%nice%system%iowait%steal%idle

           0.71 0.00 0.19 0.02 0.03 99.05

avg-cpu:%user%nice%system%iowait%steal%idle

           1.50 0.00 0.00 0.00 0.00 98.50


显示sda6和sda7设备仅报告2秒间隔和2次报告

$ iostat -d sda7 sda6 2 2

Linux 4.4.0-78-generic(shinigami)05/23/2017 _x86_64_(4 CPU)

器件:tps kB_read / s kB_wrtn / s kB_read kB_wrtn

sda6 3.40 108.29 130.75 1928577 2328496

sda7 12.19 211.96 305.79 3774804 5445696

器件:tps kB_read / s kB_wrtn / s kB_read kB_wrtn

sda6 0.00 0.00 0.00 0 0

sda7 1.00 0.00 24.00 0 48


8)显示持久性设备名称统计信息

可以按设备名称打印报告。/dev/sda它将使用-j参数和添加ID关键字(指定持久性名称的类型)来打印持久性设备名称,而不是标准名称

$ iostat -j ID mmcbkl0 sda6 -x -m 2 2 

Linux 4.4.0-78-generic(shinigami)05/23/2017 _x86_64_(4 CPU)

avg-cpu:%user%nice%system%iowait%steal%idle

          14.33 0.10 2.48 3.26 0.00 79.83

设备:rrqm / s wrqm / sr / sw / s rMB / s wMB / s avgrq-sz avgqu-sz await r_await w_await svctm%util

ATA-ST500LT012-1DG142_S3P4312X-6部分

         0.19 0.88 2.51 0.82 0.10 0.12 138.36 0.21 61.81 57.12 76.12 10.81 3.60

avg-cpu:%user%nice%system%iowait%steal%idle

          19.40 0.00 1.25 0.63 0.00 78.72

设备:rrqm / s wrqm / sr / sw / s rMB / s wMB / s avgrq-sz avgqu-sz await r_await w_await svctm%util

ATA-ST500LT012-1DG142_S3P4312X-6部分

         0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00


9)显示块设备的统计信息

可以自动直接显示每个块设备的信息。无需指明每个设备名称。它将显示块设备及其系统使用的所有分区的统计信息。如果在命令行上输入了设备名称,则会显示其及其所有分区的统计信息。只需使用-p选项

$ iostat -p

Linux 4.4.0-78-generic(shinigami)05/23/2017 _x86_64_(4 CPU)

avg-cpu:%user%nice%system%iowait%steal%idle

          14.93 0.10 2.51 3.19 0.00 79.28

器件:tps kB_read / s kB_wrtn / s kB_read kB_wrtn

sda 15.82 297.18 474.87 5928512 9473117

sda1 0.00 0.11 0.00 2108 0

sda2 0.01 0.28 0.00 5679 1

sda3 0.00 0.10 0.00 2084 0

sda4 0.00 0.10 0.00 2092 0

sda5 0.09 0.77 45.62 15428 910068

sda6 3.26 102.76 117.09 2049957 2335908

sda7 12.09 192.75 306.99 3845120 6124136

sda8 0.12 0.20 5.16 3896 103004

mmcblk0 0.01 0.31 0.00 6282 0

mmcblk0p1 0.01 0.26 0.00 5242 0


10)显示lvm2统计信息

可以使用选项查看LVM统计信息-N该命令显示任何设备映射器设备的已注册设备映射器名称

图片

这些工具的优点之一是您可以在没有root权限的情况下运行它们。您可以通过在控制台中键入man iostat以访问iostat手册页来深入挖掘  iostat手册页。



猜你喜欢

转载自blog.51cto.com/15061935/2653875