Linux 性能分析工具汇总之iostat–用于报告中央处理器统计信息

iostat–用于统计CPU信息

iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析

显示所有设备负载情况

[root@k8s-master01 oracle]# iostat
Linux 4.18.0-240.el8.x86_64 (k8s-master01) 2021年04月19日 _x86_64_ (12 CPU)

avg-cpu: %user   %nice %system %iowait %steal   %idle
          8.38    0.02    4.01    0.56    0.00   87.03

Device             tps   kB_read/s   kB_wrtn/s   kB_read   kB_wrtn
sda              15.42        11.37       146.22    5765350   74170246
scd0              0.00         0.00         0.00          2          0
dm-0             14.66        10.64       108.31    5395544   54942712
dm-1              0.00         0.01         0.00       3260          0
dm-2              1.25         0.63        40.53     319536   20560056
avg-cpu属性值说明

%user:CPU处在用户模式下的时间百分比

%nice:CPU处在带NICE值的用户模式下的时间百分比

%system:CPU处在系统模式下的时间百分比

%iowait:CPU等待输入输出完成时间的百分比

%steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比

%idle:CPU空闲时间百分比

Device:设备名

tps:该设备每秒的传输次数

kB_read/s:每秒从设备(drive expressed)读取的数据量

kB_wrtn/s:每秒向设备(drive expressed)写入的数据量

kB_read: 读取的总数据量

kB_wrtn:写入的总数量数据量

系统优化方法
  • 如果%iowait的值过高,表示硬盘存在I/O瓶颈
  • 如果%idle值高,表示CPU较空闲
  • 如果%idle值高但系统响应慢时,可能是CPU等待分配内存,应加大内存容量
  • 如果%idle值持续低于10,表明CPU处理能力相对较低,系统中最需要解决的资源是CPU

显示扩展的设备统计

iostat用于报告中央处理器(CPU)统计信息和整个系统、适配器、tty 设备、磁盘和 CD-ROM 的输入/输出统计信息,默认显示了与vmstat相同的cpu使用信息,使用以下命令显示扩展的设备统计:

[root@k8s-master01 oracle]# iostat -dx 5
Linux 4.18.0-240.el8.x86_64 (k8s-master01) 2021年04月19日 _x86_64_ (12 CPU)

Device           r/s     w/s     rkB/s     wkB/s   rrqm/s   wrqm/s %rrqm %wrqm r_await w_await aqu-sz rareq-sz wareq-sz svctm %util
sda              0.25   15.17     11.42    146.70     0.00     0.55   0.40   3.47   10.67    8.84   0.13    45.63     9.67   4.71   7.26
scd0             0.00    0.00      0.00      0.00     0.00     0.00   0.00   0.00    1.00    0.00   0.00     0.20     0.00   1.40   0.00
dm-0             0.19   14.48     10.69    108.69     0.00     0.00   0.00   0.00    6.20    9.72   0.14    56.97     7.50   4.45   6.53
dm-1             0.00    0.00      0.01      0.00     0.00     0.00   0.00   0.00   12.74    0.00   0.00    22.48     0.00   9.96   0.00
dm-2             0.05    1.20      0.63     40.65     0.00     0.00   0.00   0.00    2.94    9.97   0.01    13.14    33.79   7.08   0.89

说明:

第一行显示的是自系统启动以来的平均值,然后显示增量的平均值,每个设备一行。

linux的磁盘IO指标的缩写
  • rq是request
  • r是read
  • w是write
  • qu是queue
  • sz是size
  • a是average
  • tm是time
  • svc是service
iostat磁盘IO指标说明
  • r/s和w/s:每秒发送到设备的读和写请求数。
  • rkB/s和wkB/s:每秒千字节为单位显示了读和写的数据量
  • rrqm/s和wrqm/s:每秒合并的读和写请求,“合并的”意味着操作系统从队列中拿出多个逻辑请求合并为一个请求到实际磁盘。
  • %rrqm和%wrqm:在发送到设备之前合并到一起的读和写请求的百分比
  • r_await和w_await:平均每次读请求的时间(以毫秒为单位)。这包括请求在队列中花费的时间和执行它们所花费的时间
  • areq-sz:向设备发出的 I/O 请求的平均大小(单位为 k)
  • rareq-sz:向设备发出的读请求的平均大小(单位为 k)
  • wareq-sz:向设备发出的写请求的平均大小(单位为 k)
  • svctm:实际请求(服务)时间。
  • %util:至少有一个活跃请求所占时间的百分比。

版权声明:本文为作者原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原创文章,作者:老C,如若转载,请注明出处:https://www.code404.icu/287.html

发表评论

登录后才能评论