iostat(1)


NAME

   iostat   -   Report   Central  Processing  Unit  (CPU)  statistics  and
   input/output statistics for devices and partitions.

SYNOPSIS

   iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x  ]  [
   -y  ]  [  -z  ]  [  -j { ID | LABEL | PATH | UUID | ... } ] [ [ -H ] -g
   group_name ] [ -p [ device [,...] | ALL ] ] [ 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 (in this case, this first report is omitted).  Each subsequent
   report covers 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
   systems,  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.

   The  interval parameter specifies the amount of time in seconds between
   each 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 two types of reports, the CPU  Utilization
   report and the Device Utilization report.

   CPU Utilization Report
          The  first  report  generated  by  the iostat command is the CPU
          Utilization Report. For multiprocessor systems, the  CPU  values
          are  global  averages  among all processors.  The report has the
          following 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
                 servicing 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 and
          partitions for which statistics  are  to  be  displayed  may  be
          entered  on  the  command  line.   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.  Transfer  rates  are
          shown  in  1K blocks by default, unless the environment variable
          POSIXLY_CORRECT is set, in which case 512-byte blocks are  used.
          The report may show the following fields, depending on the flags
          used:

          Device:
                 This column gives  the  device  (or  partition)  name  as
                 listed in the /dev directory.

          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
                 indeterminate size.

          Blk_read/s (kB_read/s, MB_read/s)
                 Indicate   the  amount  of  data  read  from  the  device
                 expressed in a number of  blocks  (kilobytes,  megabytes)
                 per   second.   Blocks  are  equivalent  to  sectors  and
                 therefore have a size of 512 bytes.

          Blk_wrtn/s (kB_wrtn/s, MB_wrtn/s)
                 Indicate  the  amount  of  data  written  to  the  device
                 expressed  in  a  number of blocks (kilobytes, megabytes)
                 per second.

          Blk_read (kB_read, MB_read)
                 The total number of blocks (kilobytes, megabytes) read.

          Blk_wrtn (kB_wrtn, MB_wrtn)
                 The  total  number  of  blocks   (kilobytes,   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 (after merges) of read requests completed per
                 second for the device.

          w/s
                 The number (after merges) of write requests completed per
                 second for the device.

          rsec/s (rkB/s, rMB/s)
                 The  number  of  sectors (kilobytes, megabytes) read from
                 the device per second.

          wsec/s (wkB/s, wMB/s)
                 The number of sectors (kilobytes, 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
                 servicing them.

          r_await
                 The average time  (in  milliseconds)  for  read  requests
                 issued to the device to be served. This includes the time
                 spent by  the  requests  in  queue  and  the  time  spent
                 servicing them.

          w_await
                 The  average  time  (in  milliseconds) for write requests
                 issued to the device to be served. This includes the time
                 spent  by  the  requests  in  queue  and  the  time spent
                 servicing 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 elapsed 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% for devices serving requests serially.  But
                 for  devices  serving  requests in parallel, such as RAID
                 arrays and modern SSDs,  this  number  does  not  reflect
                 their performance limits.

OPTIONS

   -c     Display the CPU utilization report.

   -d     Display the device utilization report.

   -g group_name { device [...] | ALL }
          Display  statistics  for a group of devices.  The iostat command
          reports statistics for each individual device in the list then a
          line  of global statistics for the group displayed as group_name
          and made up of all the devices in  the  list.  The  ALL  keyword
          means  that all the block devices defined by the system shall be
          included in the group.

   -h     Make the Device Utilization Report 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.   Because
          persistent device names are usually long, option

   -H     This  option must be used with option -g and indicates that only
          global statistics for the group are to  be  displayed,  and  not
          statistics  for  individual devices in the group.  -h is enabled
          implicitly with this option.

   -k     Display statistics in kilobytes per second.

   -m     Display statistics in megabytes per second.

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

   -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.

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

   -V     Print version number then exit.

   -x     Display extended statistics.

   -y     Omit   first  report  with  statistics  since  system  boot,  if
          displaying multiple records at 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
   variables:

   POSIXLY_CORRECT
          When this variable is set, transfer rates are shown in  512-byte
          blocks instead of the default 1K blocks.

   S_COLORS
          When  this  variable  is set, display statistics in color on the
          terminal.  Possible values for this variable are  never,  always
          or auto (the latter is the default).

          Please  note  that  the  color (being red, yellow, or some other
          color) used to display a value is not indicative of any kind  of
          issue  simply  because of the color. It only indicates different
          ranges of values.

   S_COLORS_SGR
          Specify  the  colors  and  other  attributes  used  to   display
          statistics on the terminal.  Its value is a colon-separated list
          of         capabilities         that         defaults         to
          H=31;1:I=32;22:M=34;1:N=33;1:Z=33;22.    Supported  capabilities
          are:

          H=     SGR (Select Graphic Rendition) substring  for  percentage
                 values greater than or equal to 75%.

          I=     SGR substring for device names.

          M=     SGR substring for percentage values in the range from 50%
                 to 75%.

          N=     SGR substring for non-zero statistics values.

          Z=     SGR substring for zero values.

   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 sda sdb 2 6
          Display  six  reports  of  extended  statistics  at  two  second
          intervals for devices sda and sdb.

   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.

   Kernels older than 2.6.x are no longer supported.

   The  average  service  time  (svctm field) value is meaningless, as I/O
   statistics are now calculated at block level, and we  don't  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.

   /proc/uptime contains system uptime.

   /proc/diskstats contains disks statistics.

   /sys contains statistics for block devices.

   /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),  tapestat(1),  nfsiostat(1),
   cifsiostat(1)

   http://pagesperso-orange.fr/sebastien.godard/





Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.





Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.


Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.





Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.


Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.





Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.


Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.