mpstat: command not found

“mpstat” is a command-line tool that is used to monitor CPU utilization on Linux and Unix-like systems. It provides information about CPU utilization, including the utilization of individual cores, the utilization of individual processes, and the utilization of the system as a whole.

The mpstat command is a part of the Sysstat set of utilities. The mpstat command is used to report per processor statistics in a tabular format.

$ mpstat 1 1 
 
CPU minf mjf xcal  intr ithr  csw icsw migr smtx  srw syscl  usr sys  wt idl 
  0  672   0 2457   681   12  539   17   57  119    0  4303   18  10   0  73 
  1   90   0 1551   368   22  344    6   37  104    0  3775   17   4   0  79 
  2   68   0 1026   274   14  217    4   24   83    0  2393   11   3   0  86 
  3   50   0  568   218    9  128    3   17   56    0  1319    7   2   0  92 
  4   27   0  907   340   12  233    3   22   72    0  2034    9   2   0  88 
  5   75   0 1777   426   25  370    5   33  111    0  4820   22   4   0  74

In the preceding output of the mpstat command, each row of the table represents the activity of one processor. The first table shows the summary of activity since boot time. The important column that is relevant from a DBA’s perspective is the value in the smtx column. The smtx measurement indicates the number of times CPU failed to obtain the mutual exclusion lock or mutex. Mutex stalls waste CPU time and degrade multiprocessor scaling.

A general rule of thumb is if the values in the smtx column are greater than 200, then it is a symptom and indication of CPU bottleneck issues that need to be investigated.

If you encounter the below error while running the command mpstat:

mpstat: command not found

you may try installing the below package as per your choice of distribution:

Distribution Command
Debian apt-get install sysstat
Ubuntu apt-get install sysstat
Alpine apk add sysstat
Arch Linux pacman -S sysstat
Kali Linux apt-get install sysstat
CentOS yum install sysstat
Fedora dnf install sysstat
Raspbian apt-get install sysstat

mpstat Command Examples

1. Display CPU statistics every 2 seconds:

# mpstat 2

2. Display 5 reports, one by one, at 2 second intervals:

# mpstat 2 5

3. Display 5 reports, one by one, from a given processor, at 2 second intervals:

# mpstat -P 0 2 5

Conclusion

By default, mpstat returns combined averaged stats for all CPUs. Flag -P can be used to get details of specific CPUs. The following command will display statistics for processor one (0) and processor two (1), and update at an interval of 3 seconds:

$ mpstat -P 0,1 3

Related Post