dwww Home | Manual pages | Find package

MPSTAT(1)                     Linux User's Manual                     MPSTAT(1)

NAME
       mpstat - Report processors related statistics.

SYNOPSIS
       mpstat [ -A ] [ --dec={ 0 | 1 | 2 } ] [ -H ] [ -n ] [ -u ] [ -T ] [ -V ]
       [  -I { keyword[,...] | ALL } ] [ -N { node_list | ALL } ] [ -o JSON ] [
       -P { cpu_list | ALL } ] [ interval [ count ] ]

DESCRIPTION
       The mpstat command writes to standard output activities for each  avail-
       able processor, processor 0 being the first one.  Global average activi-
       ties  among all processors are also reported.  The mpstat command can be
       used on both SMP and UP machines, but in the latter, only global average
       activities will be printed. If no activity has been selected,  then  the
       default report is the CPU utilization report.

       The  interval  parameter specifies the amount of time in seconds between
       each report.  A value of 0 (or no  parameters  at  all)  indicates  that
       processors  statistics  are  to  be  reported  for the time since system
       startup (boot). The count parameter can be specified in conjunction with
       the interval parameter if this one is not set  to  zero.  The  value  of
       count  determines  the  number  of reports generated at interval seconds
       apart. If the interval parameter is specified without the count  parame-
       ter, the mpstat command generates reports continuously.

OPTIONS
       -A     This  option  is equivalent to specifying -n -u -I ALL.  This op-
              tion also implies specifying -N ALL -P ALL unless  these  options
              are explicitly set on the command line.

       --dec={ 0 | 1 | 2 }
              Specify  the  number  of  decimal  places to use (0 to 2, default
              value is 2).

       -H     Also detect and display statistics for physically hotplugged  vC-
              PUs.

       -I { keyword[,...] | ALL }
              Report  interrupts  statistics.  Possible keywords are CPU, SCPU,
              and SUM.

              With the CPU keyword, the number of each individual interrupt re-
              ceived per second by the CPU or CPUs is displayed. Interrupts are
              those listed in /proc/interrupts file.

              With the SCPU keyword, the number of each individual software in-
              terrupt received per second by the CPU or CPUs is displayed. This
              option works only with kernels 2.6.31 and later. Software  inter-
              rupts are those listed in /proc/softirqs file.

              With the SUM keyword, the mpstat command reports the total number
              of interrupts per processor.  The following values are displayed:

              CPU    Processor  number.  The keyword all indicates that statis-
                     tics are calculated as averages among all processors.

              intr/s Show the total number of interrupts received per second by
                     the CPU or CPUs.

              The ALL keyword is equivalent  to  specifying  all  the  keywords
              above and therefore all the interrupts statistics are displayed.

       -N { node_list | ALL }
              Indicate  the NUMA nodes for which statistics are to be reported.
              node_list is a list of comma-separated values or range of  values
              (e.g.,  0,2,4-7,12-).  Note  that  node all is the global average
              among all nodes. The ALL keyword indicates that statistics are to
              be reported for all nodes.

       -n     Report summary CPU statistics based on NUMA node  placement.  The
              following values are displayed:

              NODE   Logical  NUMA  node number. The keyword all indicates that
                     statistics are calculated as averages among all nodes.

              All the other fields are the same as those displayed with  option
              -u (see below).

       -o JSON
              Display  the statistics in JSON (JavaScript Object Notation) for-
              mat.  JSON output field order is undefined, and new fields may be
              added in the future.

       -P { cpu_list | ALL }
              Indicate the processors for which statistics are to be  reported.
              cpu_list  is  a list of comma-separated values or range of values
              (e.g., 0,2,4-7,12-).  Note that processor 0 is the first  proces-
              sor,  and  processor  all is the global average among all proces-
              sors.  The ALL keyword indicates that statistics are  to  be  re-
              ported for all processors.  Offline processors are not displayed.

       -T     Display  topology  elements  in the CPU report (see option -u be-
              low). The following elements are displayed:

              CORE   Logical core number.

              SOCK   Logical socket number.

              NODE   Logical NUMA node number.

       -u     Report CPU utilization. The following values are displayed:

              CPU    Processor number. The keyword all indicates  that  statis-
                     tics are calculated as averages among all processors.

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

              %sys   Show the percentage of CPU utilization that occurred while
                     executing  at  the  system  level (kernel). Note that this
                     does not include time spent servicing hardware  and  soft-
                     ware interrupts.

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

              %irq   Show the percentage of time spent by the CPU  or  CPUs  to
                     service hardware interrupts.

              %soft  Show  the  percentage  of time spent by the CPU or CPUs to
                     service software interrupts.

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

              %guest Show  the  percentage  of time spent by the CPU or CPUs to
                     run a virtual processor.

              %gnice Show the percentage of time spent by the CPU  or  CPUs  to
                     run a niced guest.

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

       -V     Print version number then exit.

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

       S_COLORS
              By  default  statistics are displayed in color when the output is
              connected to a terminal.  Use this variable to  change  the  set-
              tings.  Possible  values  for  this variable are never, always or
              auto (the latter is equivalent to the default settings).
              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 statis-
              tics on the terminal.  Its value is a colon-separated list of ca-
              pabilities that defaults to I=32;22:N=34;1:W=35;1:X=31;1:Z=34;22.
              Supported capabilities are:

              I=     SGR (Select Graphic Rendition) substring for CPU number.

              N=     SGR substring for non-zero statistics values.

              W= (or M=)
                     SGR substring for percentage values in the range from  75%
                     to  90%  (or in the range 10% to 25% depending on the met-
                     ric's meaning).

              X= (or H=)
                     SGR substring for percentage values greater than or  equal
                     to  90%  (or  lower  than or equal to 10% depending on the
                     metric's meaning).

              Z=     SGR substring for zero values.

       S_TIME_FORMAT
              If this variable exists and its value is ISO then the current lo-
              cale will be ignored when printing the date in the report header.
              The mpstat command will use the ISO 8601 format (YYYY-MM-DD)  in-
              stead.   The  timestamp will also be compliant with ISO 8601 for-
              mat.

EXAMPLES
       mpstat 2 5
              Display five reports of global statistics among all processors at
              two second intervals.

       mpstat -P ALL 2 5
              Display five reports of statistics for all processors at two sec-
              ond intervals.

BUGS
       /proc filesystem must be mounted for the mpstat command to work.

FILES
       /proc contains various files with system statistics.

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

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

       https://github.com/sysstat/sysstat
       https://sysstat.github.io/

Linux                             AUGUST 2023                         MPSTAT(1)

Generated by dwww version 1.16 on Sat Oct 3 06:25:16 CEST 2026.