博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

sysstat 工具详细说明(二)

Posted on 2013-03-27 14:09  奥客  阅读(291)  评论(0编辑  收藏  举报

iostat

iostat 的命令格式

iostat 用于输出CPU和磁盘I/O相关的统计信息。命令格式为:

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

其中:

  • interval : 为取样时间间隔
  • count : 为输出次数,若指定了取样时间间隔且省略此项,将不断产生统计信息

常用选项:

选项说明
-c 仅显示CPU统计信息。与-d选项互斥。
-d 仅显示磁盘统计信息。与-c选项互斥。
-k 以KB为单位显示每秒的磁盘请求数。默认单位块。
-m 以MB为单位显示每秒的磁盘请求数。默认单位块。
-p {device|ALL} 用于显示块设备及系统分区的统计信息。与-x选项互斥。
-t 在输出数据时,打印搜集数据的时间。
-V 打印版本号信息。
-x 输出扩展信息。

iostat 使用举例

下面给出几个例子:

# 显示一条包括所有的CPU和设备吞吐率的统计信息
# iostat
Linux 2.6.18-53.el5 (cnetos5)   01/21/2008

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.10    0.04    0.37    0.07    0.00   99.42

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               1.44        16.79        10.58     800430     504340
sdb               0.01         0.07         0.00       3314          8
sdc               0.86         8.56         0.00     407892         24

# 每隔5秒显示一次设备吞吐率的统计信息(单位为 块/s)
# iostat -d 5

# 每隔5秒显示一次设备吞吐率的统计信息(单位为 KB/s),共输出3次
# iostat -dk 5 3

# 每隔2秒显示一次 sda 及上面所有分区的统计信息,共输出5次
# iostat -p sda 2 5

# 每隔2秒显示一次 sda 和 sdb 两个设备的扩展统计信息,共输出6次
# iostat -x sda sdb 2 6
Linux 2.6.18-53.el5 (cnetos5)   01/21/2008

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.10    0.04    0.37    0.07    0.00   99.42

Device:     rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda           0.17     0.84  0.96  0.47    16.67    10.56    19.01     0.01    7.11   1.25   0.18
sdb           0.00     0.00  0.01  0.00     0.07     0.00     5.16     0.00    0.22   0.19   0.00

…………

iostat 的输出项说明

avg-cpu 部分输出项说明:

%user 在用户级别运行所使用的 CPU 的百分比。
%nice nice 操作所使用的 CPU 的百分比。
%system 在核心级别(kernel)运行所使用 CPU 的百分比。
%iowait CPU 等待硬件 I/O 所占用 CPU 的百分比。
%steal 当管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。
%idle CPU 空闲时间的百分比。

Device 部分基本输出项说明:

tps 每秒钟物理设备的 I/O 传输总量。
Blk_read 读入的数据总量,单位为块。
Blk_wrtn 写入的数据总量,单位为块。
kB_read 读入的数据总量,单位为KB。
kB_wrtn 写入的数据总量,单位为KB。
MB_read 读入的数据总量,单位为MB。
MB_wrtn 写入的数据总量,单位为MB。
Blk_read/s 每秒从驱动器读入的数据量,单位为 块/s。
Blk_wrtn/s 每秒向驱动器写入的数据量,单位为 块/s。
kB_read/s 每秒从驱动器读入的数据量,单位为KB/s。
kB_wrtn/s 每秒向驱动器写入的数据量,单位为KB/s。
MB_read/s 每秒从驱动器读入的数据量,单位为MB/s。
MB_wrtn/s 每秒向驱动器写入的数据量,单位为MB/s。

Device 部分扩展输出项说明:

rrqm/s 将读入请求合并后,每秒发送到设备的读入请求数。
wrqm/s 将写入请求合并后,每秒发送到设备的写入请求数。
r/s 每秒发送到设备的读入请求数。
w/s 每秒发送到设备的写入请求数。
rsec/s 每秒从设备读入的扇区数。
wsec/s 每秒向设备写入的扇区数。
rkB/s 每秒从设备读入的数据量,单位为 KB/s。
wkB/s 每秒向设备写入的数据量,单位为 KB/s。
rMB/s 每秒从设备读入的数据量,单位为 MB/s。
wMB/s 每秒向设备写入的数据量,单位为 MB/s。
avgrq-sz 发送到设备的请求的平均大小,单位为扇区。
avgqu-sz 发送到设备的请求的平均队列长度。
await I/O请求平均执行时间。包括发送请求和执行的时间。单位为毫秒。
svctm 发送到设备的I/O请求的平均执行时间。单位为毫秒。
%util 在I/O请求发送到设备期间,占用CPU时间的百分比。用于显示设备的带宽利用率。当这个值接近100%时,表示设备带宽已经占满。

mpstat

mpstat 的命令格式

mpstat 输出每一个 CPU 的运行状况,为多处理器系统中的 CPU 利用率提供统计信息。命令格式为:

mpstat [ -P { cpu | ALL } ] [ -V ] [ interval [ count ] ]

其中:

  • interval : 为取样时间间隔。指定0则输出自系统启动后的一个统计信息。
  • count : 为输出次数。若指定了取样时间间隔且省略此项,将不断产生统计信息。

常用选项:

选项说明
-P {cpu|ALL} 指定 CPU。用 CPU-ID 指定,CPU-ID 是从0开始的,即第一个CPU为0。ALL 表示所有CPU。
-V 输出版本号信息。

mpstat 使用举例

下面给出几个例子:

# 输出所有 CPU 使用情况的统计信息。
# mpstat
Linux 2.6.18-53.el5 (cnetos5)   01/21/2008

10:39:06 AM  CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s
10:39:06 AM  all    0.10    0.04    0.31    0.06    0.04    0.01    0.00   99.45   1012.99

# 输出第一个 CPU 使用情况的统计信息。
# mpstat -P 0
Linux 2.6.18-53.el5 (cnetos5)   01/21/2008

10:41:03 AM  CPU   %user   %nice    %sys %iowait    %irq   %soft  %steal   %idle    intr/s
10:41:03 AM    0    0.09    0.02    0.40    0.09    0.08    0.01    0.00   99.32   1012.79

# 每隔2秒输出所有CPU的统计信息,共输出5次。
# mpstat 2 5

# 每隔2秒输出一次所有CPU的统计信息,共输出5次。
# mpstat -P ALL 2 5

# 每隔2秒输出一次第二个CPU的统计信息,共输出5次。
# mpstat -P 1 2 5

mpstat 输出项说明

CPU 在多CPU系统里,每个CPU有一个ID号,第一个CPU为0。all表示统计信息为所有CPU的平均值。
%user 显示在用户级别运行所占用CPU总时间的百分比。
%nice 显示在用户级别,用于nice操作,所占用CPU总时间的百分比。
%sys 显示在kernel级别运行所占用CPU总时间的百分比。注意:这个值并不包括服务中断和softirq。
%iowait 显示用于等待I/O操作时,占用CPU总时间的百分比。
%irq 显示用于中断操作,占用CPU总时间的百分比。
%soft 显示用于softirq操作,占用CPU总时间的百分比。
%steal 管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。
%idle 显示CPU在空闲状态,占用CPU总时间的百分比。
intr/s 显示CPU每秒接收到的中断总数。