iostat 命令详解

iostat

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

<span class="search_hit">iostat</span> [ -c | -d ] [ -k | -m ] [ -t ] [ -V ] [ -x ] [ device [ ... ] | ALL ] [ -p [ device | ALL ]  ]
       [ interval [ count ] ]

1)iostat的 简单使用

iostat可以显示CPU和I/O系统的负载情况及分区状态信息. 
直接执行iostat可以显示下面内容:

# <span class="search_hit">iostat</span>
Linux 2.6.9-8.11.EVAL (ts3-150.ts.cn.tlan)      08/08/2007

avg-cpu:  %user   %nice    %sys %iowait   %idle
             12.01    0.00        2.15    2.30       83.54

Device:            tps   Blk_read/s   <span class="search_hit">Blk_wrtn</span>/s   Blk_read   <span class="search_hit">Blk_wrtn</span>
hda               7.13       200.12        34.73     640119     111076

各个输出项目的含义如下:

avg-cpu段:
%user: 在用户级别运行所使用的CPU的百分比.
%nice: nice操作所使用的CPU的百分比.
%sys: 在系统级别(kernel)运行所使用CPU的百分比.
%iowait: CPU等待硬件I/O时,所占用CPU百分比.
%idle: CPU空闲时间的百分比.
Device段:
tps: 每秒钟发送到的I/O请求数.
Blk_read /s: 每秒读取的block数.
<span class="search_hit">Blk_wrtn</span>/s: 每秒写入的block数.
Blk_read:   读入的block总数.
<span class="search_hit">Blk_wrtn</span>:  写入的block总数.
2)iostat参 数说明

iostat各个参数说明:

-c 仅显示CPU统计信息.与-d选项互斥.
 -d 仅显示磁盘统计信息.与-c选项互斥.
 -k 以K为单位显示每秒的磁盘请求数,默认单位块.
 -p device | ALL
  与-x选项互斥,用于显示块设备及系统分区的统计信息.也可以在-p后指定一个设备名,如:
  # <span class="search_hit">iostat</span> -p hda
  或显示所有设备
  # <span class="search_hit">iostat</span> -p ALL
 -t    在输出数据时,打印搜集数据的时间.
 -V    打印版本号和帮助信息.
 -x    输出扩展信息.
3)iostat输 出项目说明
Blk_read
  读入块的当总数.

              <span class="search_hit">Blk_wrtn</span>
  写入块的总数.

              kB_read/s
  每秒从驱动器读入的数据量,单位为K.

              kB_wrtn/s
  每秒向驱动器写入的数据量,单位为K.

              kB_read
  读入的数据总量,单位为K.

              kB_wrtn
  写入的数据总量,单位为K.

              rrqm/s
  将读入请求合并后,每秒发送到设备的读入请求数.

              wrqm/s
  将写入请求合并后,每秒发送到设备的写入请求数.

              r/s
  每秒发送到设备的读入请求数.

              w/s
  每秒发送到设备的写入请求数.

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

              wsec/s
  每秒向设备写入的扇区数.

              rkB/s
  每秒从设备读入的数据量,单位为K.

              wkB/s
  每秒向设备写入的数据量,单位为K.

              avgrq-sz
  发送到设备的请求的平均大小,单位是扇区.

              avgqu-sz
  发送到设备的请求的平均队列长度.

              await
  I/O请求平均执行时间.包括发送请求和执行的时间.单位是毫秒.

              svctm
  发送到设备的I/O请求的平均执行时间.单位是毫秒.

              %util
  在I/O请求发送到设备期间,占用CPU时间的百分比.用于显示设备的带宽利用率.
  当这个值接近100%时,表示设备带宽已经占满.
4)iostat示 例
#  <span class="search_hit">iostat</span>
 显示一条统计记录,包括所有的CPU和设备.

      # <span class="search_hit">iostat</span> -d 2
 每隔2秒,显示一次设备统计信息.

      # <span class="search_hit">iostat</span> -d 2 6
 每隔2秒,显示一次设备统计信息.总共输出6次.

      # <span class="search_hit">iostat</span> -x hda hdb 2 6
 每隔2秒显示一次hda,hdb两个设备的扩展统计信息,共输出6次.

      # <span class="search_hit">iostat</span> -p sda 2 6
 每隔2秒显示一次sda及上面所有分区的统计信息,共输出6次.<h4 style="margin: 0px; padding: 0px; color: rgb(51, 51, 51); font-family: Arial; font-size: 14px;"><a target=_blank name="t4" class=" " style="color: rgb(51, 102, 153);"></a><a target=_blank name="iostat示例" class=" " style="color: rgb(153, 209, 0); text-decoration: underline;">4)<span class="search_hit">iostat</span>示</a></h4>
 
 
[root@jiratest ~]# man iostat
Formatting page, please wait...
IOSTAT(1)                     Linux User鈥檚 Manual                    IOSTAT(1)


NAME
       iostat - Report Central Processing Unit (CPU) statistics and input/out-
       put statistics for devices, partitions and network filesystems (NFS).


SYNOPSIS
       iostat [ -c ] [ -d ] [ -N ] [ -n ] [ -h ] [ -k | -m ] [ -t ] [ -V  ]  [
       -x  ]  [  -y  ] [ -z ] [ -j { ID | LABEL | PATH | UUID | ... } [ device
       [...] | ALL ] ] [ device [...] | ALL ] [ -p [ device [,...] | ALL ] ] [
       interval [ count ] ]


DESCRIPTION
       The  iostat  command  is used for monitoring system input/output device
       loading by observing the time the devices are  active  in  relation  to
       their average transfer rates. The iostat command generates reports that
       can be used to  change  system  configuration  to  better  balance  the
       input/output load between physical disks.


       The  first  report  generated by the iostat command provides statistics
       concerning the time since the system was booted, unless the  -y  option
       is used, when this first report is omitted. Each subsequent report cov-
       ers the time since the previous report.  All  statistics  are  reported
       each  time  the  iostat  command  is  run. The report consists of a CPU
       header row followed by a row of CPU statistics. On multiprocessor  sys-
       tems,  CPU  statistics are calculated system-wide as averages among all
       processors. A device header row is displayed  followed  by  a  line  of
       statistics for each device that is configured.  When option -n is used,
       an NFS header row is displayed followed by a  line  of  statistics  for
       each network filesystem that is mounted.


       The  interval parameter specifies the amount of time in seconds between
       each report. The first report contains statistics for  the  time  since
       system  startup  (boot), unless the -y option is used, when this report
       is omitted.  Each subsequent report contains statistics collected  dur-
       ing  the interval since the previous report. The count parameter can be
       specified in conjunction with the  interval  parameter.  If  the  count
       parameter  is  specified,  the  value of count determines the number of
       reports generated at interval seconds apart. If the interval  parameter
       is  specified without the count parameter, the iostat command generates
       reports continuously.


REPORTS
       The iostat command generates three types of reports, the  CPU  Utiliza-
       tion  report,  the Device Utilization report and the Network Filesystem
       report.


       CPU Utilization Report
              The first report generated by the iostat command is the CPU Uti-
              lization  Report. For multiprocessor systems, the CPU values are
              global averages among all processors.  The report has  the  fol-
              lowing format:


              %user
                     Show  the  percentage  of  CPU  utilization that occurred
                     while executing at the user level (application).


              %nice
                     Show the percentage  of  CPU  utilization  that  occurred
                     while executing at the user level with nice priority.


              %system
                     Show  the  percentage  of  CPU  utilization that occurred
                     while executing at the system level (kernel).


              %iowait
                     Show the percentage of time that the  CPU  or  CPUs  were
                     idle  during which the system had an outstanding disk I/O
                     request.


              %steal
                     Show the percentage of time spent in involuntary wait  by
                     the  virtual CPU or CPUs while the hypervisor was servic-
                     ing another virtual processor.


              %idle
                     Show the percentage of time that the  CPU  or  CPUs  were
                     idle  and the system did not have an outstanding disk I/O
                     request.


       Device Utilization Report
              The second report generated by the iostat command is the  Device
              Utilization  Report.  The device report provides statistics on a
              per physical device or partition basis. Block devices for  which
              statistics  are  to  be  displayed may be entered on the command
              line. Partitions may also be entered on the command line provid-
              ing  that  option -x is not used.  If no device nor partition is
              entered, then statistics are displayed for every device used  by
              the  system,  and providing that the kernel maintains statistics
              for it.  If the ALL keyword is given on the command  line,  then
              statistics are displayed for every device defined by the system,
              including those that have never been used.  The report may  show
              the following fields, depending on the flags used:


              Device:
                     This  column  gives the device (or partition) name, which
                     is displayed as hdiskn with  2.2  kernels,  for  the  nth
                     device. It is displayed as devm-n with 2.4 kernels, where
                     m is the major number of the device, and n a  distinctive
                     number.  With newer kernels, the device name as listed in
                     the /dev directory is displayed.


              tps
                     Indicate the number of transfers  per  second  that  were
                     issued to the device. A transfer is an I/O request to the
                     device. Multiple logical requests can be combined into  a
                     single  I/O request to the device. A transfer is of inde-
                     terminate size.


              Blk_read/s
                     Indicate  the  amount  of  data  read  from  the   device
                     expressed  in  a  number of blocks per second. Blocks are
                     equivalent to sectors with  kernels  2.4  and  later  and
                     therefore have a size of 512 bytes. With older kernels, a
                     block is of indeterminate size.


              Blk_wrtn/s
                     Indicate  the  amount  of  data  written  to  the  device
                     expressed in a number of blocks per second.


              Blk_read
                     The total number of blocks read.


              Blk_wrtn
                     The total number of blocks written.


              kB_read/s
                     Indicate   the  amount  of  data  read  from  the  device
                     expressed in kilobytes per second.


              kB_wrtn/s
                     Indicate  the  amount  of  data  written  to  the  device
                     expressed in kilobytes per second.


              kB_read
                     The total number of kilobytes read.


              kB_wrtn
                     The total number of kilobytes written.


              MB_read/s
                     Indicate   the  amount  of  data  read  from  the  device
                     expressed in megabytes per second.


              MB_wrtn/s
                     Indicate  the  amount  of  data  written  to  the  device
                     expressed in megabytes per second.


              MB_read
                     The total number of megabytes read.


              MB_wrtn
                     The total number of megabytes written.


              rrqm/s
                     The  number  of read requests merged per second that were
                     queued to the device.


              wrqm/s
                     The number of write requests merged per second that  were
                     queued to the device.


              r/s
                     The  number  of  read  requests  that  were issued to the
                     device per second.


              w/s
                     The number of write requests  that  were  issued  to  the
                     device per second.


              rsec/s
                     The number of sectors read from the device per second.


              wsec/s
                     The number of sectors written to the device per second.


              rkB/s
                     The  number of kilobytes read from the device per second.


              wkB/s
                     The number of kilobytes written to the device per second.


              rMB/s
                     The  number of megabytes read from the device per second.


              wMB/s
                     The number of megabytes written to the device per second.


              avgrq-sz
                     The  average  size (in sectors) of the requests that were
                     issued to the device.


              avgqu-sz
                     The average queue length of the requests that were issued
                     to the device.


              await
                     The  average  time  (in  milliseconds)  for  I/O requests
                     issued to the device to be served. This includes the time
                     spent by the requests in queue and the time spent servic-
                     ing them.


              svctm
                     The  average  service  time  (in  milliseconds)  for  I/O
                     requests  that were issued to the device. Warning! Do not
                     trust this field any more. This field will be removed  in
                     a future sysstat version.


              %util
                     Percentage  of  CPU  time  during which I/O requests were
                     issued to  the  device  (bandwidth  utilization  for  the
                     device).  Device  saturation  occurs  when  this value is
                     close to 100%.


       Network Filesystem report
              The Network Filesystem (NFS) report provides statistics for each
              mounted  network  filesystem.   The  report  shows the following
              fields:


              Filesystem:
                     This columns shows the hostname of the  NFS  server  fol-
                     lowed by a colon and by the directory name where the net-
                     work filesystem is mounted.


              rBlk_nor/s
                     Indicate the number of blocks read  by  applications  via
                     the  read(2) system call interface. A block has a size of
                     512 bytes.


              wBlk_nor/s
                     Indicate the number of blocks written by applications via
                     the write(2) system call interface.


              rBlk_dir/s
                     Indicate the number of blocks read from files opened with
                     the O_DIRECT flag.


              wBlk_dir/s
                     Indicate the number of blocks  written  to  files  opened
                     with the O_DIRECT flag.


              rBlk_svr/s
                     Indicate the number of blocks read from the server by the
                     NFS client via an NFS READ request.


              wBlk_svr/s
                     Indicate the number of blocks written to  the  server  by
                     the NFS client via an NFS WRITE request.


              rkB_nor/s
                     Indicate the number of kilobytes read by applications via
                     the read(2) system call interface.


              wkB_nor/s
                     Indicate the number of kilobytes written by  applications
                     via the write(2) system call interface.


              rkB_dir/s
                     Indicate  the  number of kilobytes read from files opened
                     with the O_DIRECT flag.


              wkB_dir/s
                     Indicate the number of kilobytes written to files  opened
                     with the O_DIRECT flag.


              rkB_svr/s
                     Indicate  the number of kilobytes read from the server by
                     the NFS client via an NFS READ request.


              wkB_svr/s
                     Indicate the number of kilobytes written to the server by
                     the NFS client via an NFS WRITE request.


              rMB_nor/s
                     Indicate the number of megabytes read by applications via
                     the read(2) system call interface.


              wMB_nor/s
                     Indicate the number of megabytes written by  applications
                     via the write(2) system call interface.


              rMB_dir/s
                     Indicate  the  number of megabytes read from files opened
                     with the O_DIRECT flag.


              wMB_dir/s
                     Indicate the number of megabytes written to files  opened
                     with the O_DIRECT flag.


              rMB_svr/s
                     Indicate  the number of megabytes read from the server by
                     the NFS client via an NFS READ request.


              wMB_svr/s
                     Indicate the number of megabytes written to the server by
              rBlk_dir/s
                     Indicate the number of blocks read from files opened with
                     the O_DIRECT flag.


              wBlk_dir/s
                     Indicate the number of blocks  written  to  files  opened
                     with the O_DIRECT flag.


              rBlk_svr/s
                     Indicate the number of blocks read from the server by the
                     NFS client via an NFS READ request.


              wBlk_svr/s
                     Indicate the number of blocks written to  the  server  by
                     the NFS client via an NFS WRITE request.


              rkB_nor/s
                     Indicate the number of kilobytes read by applications via
                     the read(2) system call interface.


              wkB_nor/s
                     Indicate the number of kilobytes written by  applications
                     via the write(2) system call interface.


              rkB_dir/s
                     Indicate  the  number of kilobytes read from files opened
                     with the O_DIRECT flag.


              wkB_dir/s
                     Indicate the number of kilobytes written to files  opened
                     with the O_DIRECT flag.


              rkB_svr/s
                     Indicate  the number of kilobytes read from the server by
                     the NFS client via an NFS READ request.


              wkB_svr/s
                     Indicate the number of kilobytes written to the server by
                     the NFS client via an NFS WRITE request.


              rMB_nor/s
                     Indicate the number of megabytes read by applications via
                     the read(2) system call interface.


              wMB_nor/s
                     Indicate the number of megabytes written by  applications
                     via the write(2) system call interface.


              rMB_dir/s
                     Indicate  the  number of megabytes read from files opened
                     with the O_DIRECT flag.


              wMB_dir/s
                     Indicate the number of megabytes written to files  opened
                     with the O_DIRECT flag.


              rMB_svr/s
                     Indicate  the number of megabytes read from the server by
                     the NFS client via an NFS READ request.


              wMB_svr/s
                     Indicate the number of megabytes written to the server by
                     the NFS client via an NFS WRITE request.


              ops/s
                     Indicate the number of operations that were issued to the
                     filesystem per second.


              rops/s
                     Indicate the number of 鈥檙ead鈥?operations that were issued
                     to the filesystem per second.


              wops/s
                     Indicate  the  number  of  鈥檞rite鈥? operations  that were
                     issued to the filesystem per second.


OPTIONS
       -c     Display the CPU utilization report.


       -d     Display the device utilization report.


       -h     Make the NFS report displayed by option -n easier to read  by  a
              human.


       -j { ID | LABEL | PATH | UUID | ... } [ device [...] | ALL ]
              Display persistent device names. Options ID, LABEL, etc. specify
              the type of the persistent name. These options are not  limited,
              only  prerequisite  is  that  directory with required persistent
              names is present in /dev/disk.  Optionally, multiple devices can
              be specified in the chosen persistent name type.


       -k     Display statistics in kilobytes per second instead of blocks per
              second.  Data displayed are valid  only  with  kernels  2.4  and
              later.


       -m     Display  statistics in megabytes per second instead of blocks or
              kilobytes per second.  Data displayed are valid only  with  ker-
              nels 2.4 and later.


       -N     Display the registered device mapper names for any device mapper
              devices.  Useful for viewing LVM2 statistics.


       -n     Display the network filesystem (NFS) report. This  option  works
              only with kernel 2.6.17 and later.


       -p [ { device [,...] | ALL } ]
              The  -p  option  displays  statistics  for block devices and all
              their partitions that are used by the system.  If a device  name
              is  entered  on the command line, then statistics for it and all
              its partitions are displayed. Last, the  ALL  keyword  indicates
              that  statistics  have to be displayed for all the block devices
              and partitions defined by the system, including those that  have
              never  been  used.  If  option -j is defined before this option,
              devices entered on the command line can be  specified  with  the
              chosen  persistent  name type.  Note that this option works only
              with post 2.5 kernels.


       -t     Print the time for each report displayed. The  timestamp  format
              may  depend  on the value of the S_TIME_FORMAT environment vari-
              able (see below).


       -V     Print version number then exit.


       -x     Display extended statistics.  This option works  with  post  2.5
              kernels  since  it needs /proc/diskstats file or a mounted sysfs
              to get the statistics. This option may also work with older ker-
              nels  (e.g.  2.4)  only  if extended statistics are available in
              /proc/partitions (the kernel needs to be patched for that).


       -y     Omit first report with statistics since the system boot, if dis-
              playing multiple records in given interval.


       -z     Tell  iostat  to omit output for any devices for which there was
              no activity during the sample period.


ENVIRONMENT
       The iostat command takes into account the following  environment  vari-
       able:


       S_TIME_FORMAT
              If  this  variable  exists and its value is ISO then the current
              locale will be ignored when printing  the  date  in  the  report
              header.  The  iostat command will use the ISO 8601 format (YYYY-
              MM-DD) instead.  The timestamp displayed  with  option  -t  will
              also be compliant with ISO 8601 format.


EXAMPLES
       iostat
              Display  a  single  history  since  boot  report for all CPU and
              Devices.


       iostat -d 2
              Display a continuous device report at two second intervals.


       iostat -d 2 6
              Display six reports at two second intervals for all devices.


       iostat -x hda hdb 2 6
              Display six reports of extended statistics at two second  inter-
              vals for devices hda and hdb.


       iostat -p sda 2 6
              Display  six  reports at two second intervals for device sda and
              all its partitions (sda1, etc.)


BUGS
       /proc filesystem must be mounted for iostat to work.


       Extended statistics are available only with post 2.5 kernels.


       The average service time (svctm field) value  is  meaningless,  as  I/O
       statistics  are  calculated  at block level, and we don鈥檛 know when the
       disk driver starts to process a request. For this  reason,  this  field
       will be removed in a future sysstat version.


FILES
       /proc/stat contains system statistics.
FILES
       /proc/stat contains system statistics.


       /proc/uptime contains system uptime.


       /proc/partitions  contains  disk  statistics  (for pre 2.5 kernels that
       have been patched).


       /proc/diskstats contains disks statistics (for post 2.5 kernels).


       /sys contains statistics for block devices (post 2.5 kernels).


       /proc/self/mountstats contains statistics for network filesystems.


       /dev/disk contains persistent device names.


AUTHOR
       Sebastien Godard (sysstat <at> orange.fr)


SEE ALSO
       sar(1), pidstat(1), mpstat(1), vmstat(8)


       http://pagesperso-orange.fr/sebastien.godard/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值