Linux的iostat命令详解---IO和CPU实时监控

iostat是一款用于监控系统输入输出设备和CPU使用情况的工具,重点在于IO负载的监控。它能显示自系统启动以来的统计信息,或者按指定间隔持续显示统计信息。iostat属于sysstat软件包,使用前需安装。常见参数包括-c(显示CPU)、-d(显示磁盘)、-k(以KB为单位)等。通过-iostat -d -k 2等命令可以查看磁盘使用情况,每两秒更新一次。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 简介

iostat用于监控统计系统输入输出设备和CPU的使用情况,英文I/O statistics的缩写。iostat主要用于监控系统设备的IO负载情况,iostat首次运行时显示自系统启动开始的各项统计信息,之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。

同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

iostat属于软件包,所以使用前需要先安装sysstat。

2. 语法

iostat [ -c ] [ -d ] [ -h ] [ -N ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ -z ] [ device [...] | ALL ] [ -p [ device [,...] | ALL ] ] [ interval [ count ] ]

iostat [参数]  [间隔时间] [报告次数]

间隔时间:每次报告的间隔时间(秒)

报告次数:显示报告的次数

3. 常用参数

  • -c    显示cpu使用情况
  • -d    显示磁盘使用情况
  • -k    以kb为单位
  • -m   以mb为单位
  • -N   显示磁盘阵列(LVM)信息
  • -n    显示NFS使用情况
  • -p    显示磁盘和分区的情况
  • -t     显示中断和cpu的信息
  • -x    显示详细信息
  • -v    显示版本信息

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

4. 常见用法

iostat -d -k 1 10         #查看TPS和吞吐量信息(磁盘读写速度单位为KB)
iostat -d -m 2            #查看TPS和吞吐量信息(磁盘读写速度单位为MB)
iostat -d -x -k 1 10      #查看设备使用率(%util)、响应时间(await) 
iostat -c 1 10            #查看cpu状态

 

iostat -d -k 2 

参数-d 表示磁盘使用状态,-k表示以KB为单位显示IO,2表示数据显示间隔2秒刷新一次。

iostat -d -k 2

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sda               0.00         0.00         0.00          0          0
sdh              27.00         0.00     21528.00          0      21528
sdi              94.00      2008.00     54312.00       2008      54312
sdj              67.00      1068.00     18472.00       1068      18472

输出信息的含义:

tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device),一次传输就是一次IO请求,多个逻辑请求可能会被合并成为一次IO请求。一次传输的大小是未知的。

kB_read/s:每秒读取的数据量

kB_wrtn/s:每秒写入的数据量

kB_read:总读取数量

kB_wrtn:总写入数量

指定磁盘名称为sdi和sdj,该命名与上面的的区别是仅是监控指定的硬盘

iostat -d sdi sdj -k 2

Device:            tps    kB_read/s    kB_wrtn/s    kB_read    kB_wrtn
sdi               9.54       232.29      3557.56  142644268 2184645536
sdj               9.42       230.36      3530.45  141459108 2167998556

-x 参数用于显示详细信息,显示和IO相关的扩展数据

iostat -d -x -k 1  
iostat -d -x -k 1

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.18    0.64    2.12     1.78    36.16    27.43     0.01    2.47    0.24    3.15   0.56   0.16
sdh               0.04     0.02    5.16    4.33   232.57  3510.83   788.66     0.35   37.13    8.74   70.98  12.50  11.87
sdi               0.04     0.02    5.15    4.39   232.31  3556.81   794.25     0.36   37.23    8.95   70.46  12.39  11.82
sdj               0.04     0.02    5.07    4.35   230.38  3529.71   798.19     0.36   37.81    9.83   70.42  12.52  11.79
Device监测设备名称
rrqm/s每秒需要读取需求的数量
wrqm/s每秒需要写入需求的数量
r/s每秒实际读取需求的数量
w/s每秒实际写入需求的数量
rkB/s每秒实际读取的大小,单位为 KB
wkB/s每秒实际写入的大小,单位为 KB
avgrq-sz需求的平均大小区段
avgqu-sz需求的平均队列长度
await等待 I/O 平均的时间(milliseconds)
r_await等待读 I/O 平均的时间(milliseconds)
w_await等待写 I/O 平均的时间(milliseconds)
svctmI/O 需求完成的平均时间
%util被 I/O 需求消耗的 CPU 百分比

-c 参数

iostat 还可以用来监控cpu部分状态

iostat -c

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.41    0.00    0.99    2.25    0.00   96.35

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值