iostat

报告设备、分区和网络文件系统(NFS)的中央处理单元(CPU)统计信息和i/o统计信息

语法

  iostat [option(s)] [ device [...] | ALL ]
            [ -p [ device [,...] | ALL ] ]  [ interval [ count ] ]

选项



   -c    显示CPU利用率报告.

   -d    显示设备利用率报告.

   -h     通过选项-n显示NFS报告,更容易被人阅读.

   -k    以千字节/秒为单位显示统计信息

   -m    以兆字节/秒为单位显示统计信息

   -N    显示设备映射器,已注册设备映射器名称。
         用于查看LVM2统计信息。

   -n    显示网络文件系统(NFS)报告

   -p [ { device [,...] | ALL } ]
        显示块设备及其系统使用的所有分区的统计信息

   -t   打印显示的每个报告的时间

   -V    打印版本号

   -x    显示扩展统计信息
   -z    告诉iostat采样期间省略没有活动设备的输出

   interval  每个样本之间的秒数.

   count    要返回的样本数

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

iostat命令生成的第一个报告提供有关自系统引导以来的时间的统计信息。每个后续报告都涵盖自上次报告以来的时间。每次运行iostat命令时都会报告所有统计信息。该报告由一个CPU标题行和一行CPU统计信息组成。在多处理器系统上,CPU统计信息在系统范围内计算为所有处理器之间的平均值。将显示设备标题行,然后显示已配置的每个设备的统计信息行。使用选项-n时,将显示NFS标题行,然后显示已装入的每个网络文件系统的统计信息行。

interval参数指定每个报告之间的时间量(以秒为单位)。第一个报告包含自系统启动(引导)以来的时间统计信息。每个后续报告都包含自上次报告以来间隔期间收集的统计信息。count参数可以与interval参数一起指定。如果指定了count参数,则count的值确定以间隔秒间隔生成的报告数。如果指定了interval参数而没有count参数,则iostat命令会连续生成报告。

CPU利用率报告
iostat命令生成的第一个报告是CPU利用率报告。对于多处理器系统,CPU值是所有处理器之间的全局平均值。该报告具有以下格式:

%user   显示在用户级别(应用程序)执行时发生的CPU利用率百分比
%nice   显示在具有良好优先级的用户级别,执行时发生的CPU利用率百分比
%system 显示在系统级别(内核)执行时发生的CPU利用率百分比
%iowait 显示CPU或CPU空闲的时间百分比,在此期间系统具有未完成的磁盘I/O请求. 
%steal  显示虚拟机管理程序为另一个虚拟处理器提供服务时虚拟CPU或CPU在非自愿等待中花费的时间百分比
%idle   示CPU或CPU空闲的时间百分比,并且系统没有未完成的磁盘I/O请求.

设备利用率报告
iostat命令生成的第二个报告是设备利用率报告。设备报告提供有关每个物理设备或分区的统计信息。可以在命令行上输入要显示统计数据的块设备。如果不使用-x选项,也可以在命令行中输入分区。如果未输入设备或分区,则显示系统使用的每个设备的统计信息,并提供内核维护统计信息的统计信息。如果在命令行上给出了ALL关键字,则会显示系统定义的每个设备的统计信息,包括从未使用过的设备。
报告可能会显示以下字段,具体取决于使用的标志:

设备: 此列为第n个设备提供设备(或分区)名称,该名称显示为带有2.2内核的hdiskn。它显示为具有2.4内核的devm-n,其中m是设备的主要编号,并且是na唯一编号。对于较新的内核,将显示/ dev目录中列出的设备名称。

tps指示发出给设备的​​每秒传输次数。传输是对设备的I / O请求。可以将多个逻辑请求组合到设备的单个I/O请求中。传输的大小不确定。

Blk_read/s   表示从设备每秒读取的数据量
Blk_wrtn/s   指示每秒写入设备的数据量 
Blk_read     读取的块总数
Blk_wrtn     写入的块总数

kB_read/s    表示从设备读取的数据量,以每秒千字节为单位
kB_wrtn/s    表示写入设备的数据量,以每秒千字节为单位
kB_read      读取的千字节总数. 
kB_wrtn      写入的千字节总数

MB_read/s    表示从设备读取的数据量,以每秒兆字节为单位。
MB_wrtn/s    表示写入设备的数据量,以每秒兆字节为单位。 
MB_read      读取的兆字节总数。
MB_wrtn      写入的兆字节总数

rrqm/s      每秒合并到设备的读取请求数.
wrqm/s      每秒合并到队列到设备的写入请求数

r/s         每秒发送给设备的读取请求数. 
w/s         每秒向设备发出的写入请求数

rsec/s      每秒从设备读取的扇区数. 
wsec/s      每秒写入设备的扇区数

rkB/s       每秒从设备读取的千字节数. 
wkB/s       每秒写入设备的千字节数. 


rMB/s       每秒从设备读取的兆字节数
wMB/s       每秒写入设备的兆字节数 

avgrq-sz 发布到设备的请求的平均大小(以扇区为单位)。
avgqu-sz发布到设备的请求的平均队列长度。

await 发送给要提供的设备的I/O请求的平均时间(以毫秒为单位)。这包括队列中的请求所花费的时间以及为其提供服务所花费的时间。

svctm 发布到设备的I / O请求的平均服务时间(以毫秒为单位)。警告!不要再相信这个领域了。将来的sysstat版本中将删除此字段。

%util 向设备发出I/O请求的CPU时间百分比(设备的带宽利用率)。当此值接近100%时,会发生设备饱和。

网络文件系统报告
网络文件系统(NFS)报告提供每个已安装的网络文件系统的统计信息。
该报告显示以下字段:

Filesystem: 此列显示NFS服务器的主机名,后跟冒号和安装网络文件系统的目录名称.
rBlk_nor/s 指示应用程序通过read(2)系统调用接口读取的块数。
           块的大小为512字节

wBlk_nor/s 93/5000  表示应用程序通过write(2)系统调用接口编写的块数

rBlk_dir/s  表示从使用O_DIRECT标志打开的文件中读取的块数
wBlk_dir/s  指示写入使用O_DIRECT标志打开的文件的块数.
rBlk_svr/s  表示NFS客户端通过NFS READ请求从服务器读取的块数
wBlk_svr/s   表示NFS客户端通过NFS WRITE请求写入服务器的块数

rkB_nor/s 表示应用程序通过read(2)系统调用接口读取的千字节数
wkB_nor/s 表示应用程序通过write(2)系统调用接口写入的千字节数。
rkB_dir/s 指示从使用O_DIRECT标志打开的文件中读取的千字节数。
wkB_dir/s 指示写入使用O_DIRECT标志打开的文件的千字节数。

rkB_svr/s  表示NFS客户端通过NFS READ请求从服务器读取的千字节数。
wkB_svr/s  表示NFS客户端通过NFS WRITE请求写入服务器的千字节数。

rMB_nor/s 示应用程序通过read(2)系统调用接口读取的兆字节数。
wMB_nor/s 表示应用程序通过write(2)系统调用接口写入的兆字节数。
rMB_dir/s 表示从使用O_DIRECT标志打开的文件中读取的兆字节数。
wMB_dir/s 示写入使用O_DIRECT标志打开的文件的兆字节数。
rMB_svr/s 表示NFS客户端通过NFS READ请求从服务器读取的兆字节数。
wMB_svr/s 表示NFS客户端通过NFS WRITE请求写入服务器的兆字节数。

ops/s 表示每秒向文件系统发出的操作数. 
rops/s 表示每秒向文件系统发出的“读取”操作数。
wops/s 表示每秒向文件系统发出的“写入”操作数。

必须安装/proc文件系统才能使iostat正常工作。

Files

/proc/stat 包含系统统计信息
/proc/uptime 包含系统正常运行时间。
/proc/partitions 包含磁盘统计信息
/proc/diskstats 包含磁盘统计信息(适用于2.5后内核)。
/sys  包含块设备的统计信息(2.5内核后)。 
/proc/self/mountstats   包含网络文件系统的统计信息。

实例

显示所有CPU和设备的启动报告后的单一历史记录:

$ iostat

以两秒为间隔显示连续设备报告:

$ iostat -d 2

所有设备每隔两秒显示六个报告:

$ iostat -d 2 6

为设备hda和hdb以两秒的间隔显示六个扩展统计报告:

$ iostat -x hda hdb 2 6

为设备sda及其所有分区(sda1等)以两秒的间隔显示六个报告

 $ iostat -p sda 2 6

iostat 命令实例:

linux命令:iostat iostat iostat rootopen.com
linux命令:iostat iostat iostat rootopen.com
2018-09-11 09:55:30

linux命令:iostat -m -d /dev/sda1 /dev/sda1 -d -m iostat iostat -m -d /dev/sda1rootopen.com
linux命令:iostat -m -d /dev/sda1 /dev/sda1 -d -m iostat iostat -m -d /dev/sda1rootopen.com
2018-03-17 14:03:48

linux命令:iostat -En $(iostat -en|grep c#t|awk '$2 > 0 {print $NF}') $NF}') {print 0 > '$2 c#t|awk -en|grep $(iostat -En iostat iostat -En $(iostat -en|grep c#t|awk '$2 > 0 {print $NF}')rootopen.com
linux命令:iostat -En $(iostat -en|grep c#t|awk '$2 > 0 {print $NF}') $NF}') {print 0 > '$2 c#t|awk -en|grep $(iostat -En iostat iostat -En $(iostat -en|grep c#t|awk '$2 > 0 {print $NF}')rootopen.com
2018-02-09 00:10:48

linux命令:iostat -d -x 10 5 5 10 -x -d iostat iostat -d -x 10 5rootopen.com
linux命令:iostat -d -x 10 5 5 10 -x -d iostat iostat -d -x 10 5rootopen.com
2018-01-18 13:42:48

Linux的Bash命令行(A-Z排序)