iostat.8

IOSTAT(8)

IOSTAT(8)

FreeBSD System Manager's Manual

IOSTAT(8)

iostat

报告 I/O 统计信息

iostat [-CdhIKoTxz?] [-c count] [-M core] [-n devs] [-N system] [-t type,if,pass] [-w wait] [drives]

iostat 实用程序显示有关终端、设备和 cpu 操作的内核 I/O 统计信息。 打印的第一个统计数据是系统正常运行时间的平均值。 要获取有关当前活动的信息,应指定合适的等待时间,以便随后打印的统计数据集将在该时间段内进行平均。

选项如下:

-c

重复显示 count 次数。 如果未指定重复 count ,则默认值取决于是否指定了 -w 。 使用 -w 默认重复计数为无穷大,否则为 1。

-C

显示 CPU 统计信息。这是默认开启的,除非指定了 -d-x

-d

仅显示设备统计信息。 如果打开此标志,将仅显示设备统计信息,除非还指定了 -C-T 以启用 CPU 或 TTY 统计信息的显示。

-h

iostat 置于 ‘top’ 模式。 在此模式下, iostat 将按每个测量周期从最高字节到最低字节的顺序显示设备。

-I

显示给定时间段的总统计数据,而不是该时间段内每秒的平均统计数据。

-K

在块传输显示 (-o) 中,以千字节为单位显示块计数,而不是设备本机块大小。

-M

从指定的核心而不是默认的 “/dev/kmem” 中提取与名称列表关联的值。

-n

最多显示 devs 数量的设备。 如果没有 devs 设备, iostat 实用程序将显示更少的设备。

-N

从指定系统中提取名称列表,而不是默认的 “/boot/kernel/kernel” 。

-o

显示旧式 iostat 设备统计信息。 显示每秒扇区数、每秒传输数和每次寻道毫秒数。 如果指定了 -I ,则会显示总块/扇区、总传输和每次查找的毫秒数。

-t

指定要显示的设备类型。 设备分为三种不同类别:

设备类型:

da

直接访问设备

sa

顺序访问设备

printer

打印机

proc

处理器设备

worm

一次写入 读取 多个设备

cd

CD 设备

scanner

扫描仪

optical

光学内存设备

changer

介质更换器设备

comm

通信设备

array

存储阵列设备

enclosure

机箱服务设备

floppy

软盘设备

接口:

IDE

集成驱动电子设备

SCSI

小型计算机系统接口设备

other

任何其他设备接口

passthrough:

pass

Passthrough devices

用户必须至少指定一种设备类型,并且每个类别最多可以指定一种设备类型。 单个设备类型语句中的多个设备类型必须用逗号分隔。

可以在命令行上指定任意数量的 -t 参数。 将所有 -t 参数进行 OR 运算以形成一个匹配表达式,系统中的所有设备都将与该表达式进行比较。 与任何 -t 参数完全匹配的任何设备都将包含在 iostat 输出中,最多可显示 80 列中的设备数,或用户指定的最大设备数。

-T

显示 TTY 统计信息。 这是默认开启的,除非指定了 -d-x

-w

在每次显示之间暂停 wait 几秒钟。 如果未指定 wait 间隔,则默认为 1 秒。

iostat 命令将接受并遵守非整数秒数。 请注意,时间间隔只有毫秒粒度。 更精细的值将被截断。例如, “-w1.0001” 与 “-w1.000” 相同。 间隔也会受到对 kern.hz 的修改的影响,因此您的里程可能会有所不同。

-x

显示扩展磁盘统计信息。 每个磁盘都显示在自己的一行中,其中包含所有可用的统计信息。 如果打开此标志,将仅显示磁盘统计信息,除非还指定了 -C-T 以启用 CPU 或 TTY 统计信息的显示。

-z

如果指定了 -x ,则省略没有活动的设备的行。

-?

显示使用说明并退出。

iostat 实用程序以下列格式显示其信息:

tty

tin

从终端读取的字符

tout

写入终端的字符

devices

设备操作。 该字段的标题是设备名称和单元号。 iostat- 实用程序将显示符合标准 80 列屏幕的设备数量,或系统中的最大设备数量,以较小者为准。 如果在命令行中指定了 -niostat 将显示请求的设备数和系统中的最大设备数中较小的一个。 要强制 iostat 显示特定驱动器,可以在命令行中提供它们的名称。 iostat 实用程序不会显示超过 80 列屏幕的设备,除非在命令行中给出 -n 参数来指定要显示的最大设备数。 如果在命令行上指定的设备数量少于 80 列屏幕的容量,iostat iostat 将仅显示指定的设备。

标准 iostat 设备显示显示以下统计信息:

KB/t

千字节/传输

tps

传输/秒

MB/s

兆字节/秒

标准 iostat 设备显示,指定 -I 标志,显示以下统计信息:

KB/t

千字节/传输

xfrs

传输总数

MB

传输的总兆字节数

指定了 iostat 标志的扩展 -x 设备显示显示以下统计信息:

r/s

每秒读取操作

w/s

每秒写入操作

kr/s

每秒读取千字节

kw/s

每秒写入千字节

qlen

事务队列长度

ms/r

读取事务的平均持续时间,以毫秒为单位

ms/w

写入事务的平均持续时间,以毫秒为单位

ms/o

所有其他事务的平均持续时间,以毫秒为单位

ms/t

所有事务的平均持续时间, 以毫秒为单位

%b

设备有一个或多个未完成事务的时间百分比

扩展的 iostat 设备显示,指定了 -x-I 标志,显示以下统计信息:

r/i

每个时间段的读取操作

w/i

每个时间段的写操作

kr/i

每个时间段读取的千字节数

kw/i

每个时间段写入千字节

qlen

事务队列长度

tsvc_t/i

每个时间段的事务总持续时间,以秒为单位

sb/i

设备在每个时间段内完成一个或多个未完成事务的总时间,以秒为单位

旧式 iostat 显示(使用 -o )显示以下统计信息:

sps

每秒传输的扇区

tps

每秒传输

msps

每笔交易的平均毫秒数

指定了 -I 标志的旧式 iostat 显示显示以下统计信息:

blk

转移的区块/扇区总数

xfr

转账总额

msps

每笔交易的平均毫秒数

cpu

us

用户模式下的 CPU 时间百分比

ni

用户模式下运行 niced 进程的 cpu 时间百分比

sy

系统模式下的 CPU 时间百分比

in

中断模式下的 CPU 时间百分比

id

空闲模式下的 CPU 时间百分比

/boot/kernel/kernel

默认内核名单。

/dev/kmem

默认内存文件。

iostat -w 1 da0 da1 cd0

每隔一秒无限次显示前两个直接访问设备和第一个 CDROM 设备的统计信息。

iostat -c 2

显示系统中前四个设备的统计信息两次,显示间隔为一秒。

iostat -t da -t cd -w 1

每秒无限次显示所有 CDROM 和直接访问设备的统计信息。

iostat -t da,scsi,pass -t cd,scsi,pass

为所有提供直接访问或 CDROM 设备访问权限的 SCSI 直通设备显示一次统计信息。

iostat -h -n 8 -w 1

每秒无限显示最多 8 个 I/O 设备。

iostat -dh -t da -w 1

省略 TTY 和 CPU 显示,按性能顺序显示设备,并且无限每秒仅显示直接访问设备。

iostat -Iw 3

无限期地每三秒显示一次总统计数据。

iostat -odICTw 2 -c 9

使用旧式输出格式显示总统计数据 9 次,每次测量/显示之间有 2 秒的间隔。 -d 标志通常禁用 TTY 和 CPU 显示,但由于给出了 -T-C 标志,因此将显示 TTY 和 CPU 显示。

fstat(1), netstat(1), nfsstat(1), ps(1), systat(1), devstat(3), ctlstat(8), gstat(8), pstat(8), vmstat(8)

The sections starting with ``Interpreting system activity'' in Installing and Operating 4.3BSD.

这个版本的 iostat 最早出现在 FreeBSD 3.0 中。

Kenneth Merry <ken@FreeBSD.org>

使用 iostat 作为故障转储的调试工具可能会受到限制,因为目前无法获得仅涵盖崩溃前的时间的统计信息。

May 22, 2015

FreeBSD 13.1-RELEASE

最后更新于

FreeBSD 中文社区