Linux 命令 —— iostat I/O 和 CPU 监视工具

iostat 用于监控统计系统输入输出设备和 CPU 的使用情况,英文 I/O statistics 的缩写。

它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU 使用情况。同 vmstat 一样,iostat 也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。iostat 属于 sysstat 软件包,所以使用前需先安装 sysstat

命令格式

iostat [参数] [间隔时间] [报告次数]
  • 间隔时间:每次报告的间隔时间(秒)
  • 报告次数:显示报告的次数

常用参数

  • -C 显示 CPU 使用情况
  • -d 显示磁盘使用情况
  • -k 以 KB 为单位显示
  • -m 以 M 为单位显示
  • -N 显示磁盘阵列(LVM) 信息
  • -n 显示 NFS 使用情况
  • -p[磁盘] 显示磁盘和分区的情况
  • -t 显示终端和 CPU 的信息
  • -x 显示详细信息
  • -V 显示版本信息

更多参数和说明,可用 man iostat 查看。

属性说明

CPU 属性值

标示说明
%userCPU 处在用户模式下的时间百分比
%niceCPU 处在带 NICE 值的用户模式下的时间百分比
%systemCPU 处在系统模式下的时间百分比
%iowaitCPU 等待输入输出完成时间的百分比
%steal管理程序维护另一个虚拟处理器时,虚拟 CPU 的无意识等待时间百分比
%idleCPU 空闲时间百分比

DISK 属性值

标示说明
Device监测设备名称
rrqm/s每秒需要读取需求的数量
wrqm/s每秒需要写入需求的数量
r/s每秒实际读取需求的数量
w/s每秒实际写入需求的数量
rsec/s每秒读取区段的数量
wsec/s每秒写入区段的数量
rkB/s每秒实际读取的大小,单位为 KB
wkB/s每秒实际写入的大小,单位为 KB
rMB/s每秒实际读取的大小,单位为 MB
wMB/s每秒实际写入的大小,单位为 MB
avgrq-sz需求的平均大小区段
avgqu-sz需求的平均队列长度
await等待 I/O 平均的时间(milliseconds)
svctmI/O 需求完成的平均时间
%util被 I/O 需求消耗的 CPU 百分比

TPS 属性值

标识说明
tps该设备每秒的传输次数
kB_read/s每秒从设备读取的数据量
kB_wrtn/s每秒向设备写入的数据量
kB_read读取的总数据量
kB_wrtn写入的总数据量

应用实例

iostat -k

Linux 2.6.32-642.13.1.el6.x86_64 (upfor106)     2016年04月21日     _x86_64_    (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.49    0.00    0.17    0.03    0.00   99.31

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
vda               0.88         1.41         8.30   47983021  281958128

参考资料

原文地址:
https://shockerli.net/post/li…

更多文章请访问我的个人博客:
https://shockerli.net

    原文作者:Jioby
    原文地址: https://segmentfault.com/a/1190000015185436
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞