The mpstat command is used for checking the cpu usage in Linux or monitor the Linux system performance. It gives the processor statistics. If your system has multiple processor cores, you can use the mpstat command to monitor each individual core. The mpstat command provides the same CPU utilization statistics as  vmstat, but mpstat gives the statistics out on a per processor basis. 
You can see example as below for CPU performance monitoring linux:
{desktop002:root} mpstat 
CPU minf mjf xcal  intr ithr  csw icsw migr smtx  srw syscl  usr sys  wt idl 
  0  319   0    5   340  101  121    0   15    4    0   339    1   1   0  99 
  1  113   0    2    94   16   81    0    7    4    0   113    0   1   0  99 
  2  156   0    2    74   18   61    0    5    3    0   123    0   0   0 100 
  3  154   0    2    66   22   61    0    3    3    0   169    0   0   0 100 
  4 2156   0    3    51   32   73    0   28    5    0   962    1   2   0  97 
  5   31   0    2    18    1   16    0    4    3    0    47    0   0   0 100 
  6   11   0    2    19    2   14    0    4    2    0    24    0   0   0 100 
  7    9   0    2    18    2   14    0    4    2    0    24    0   0   0 100 
  8  265   0    1    40   11   42    0    4    2    0   153    0   0   0 100 
  9  115   0    2    36    8   31    0    3    2    0    81    0   0   0 100 
 10   72   0    1    37    7   40    0    2    2    0   118    0   0   0 100 
 11  235   0    1    29    6   35    0    3    2    0   163    0   0   0 100 
 12    8   0    2    18    3   12    0    4    2    0    16    0   0   0 100 
 13    6   0    2    16    1   12    0    4    2    0    13    0   0   0 100 
 14    6   0    2    17    1   13    0    4    2    0    19    0   0   0 100 
 15    6   0    2    16    1   12    0    4    2    0    14    0   0   0 100 
{desktop002:root} 
 | 
mpstat command's general format to get output:
$ mpstat <interval> <count> 
 | 
You can see the columns and its meaning as follows:
minf                          minor faults.
mjf                          major faults.
Xcal                         inter-processor cross calls
Intr                          interrupts
ithr                          interrupts as threads  (not  counting  clock interrupt)
csw                         context switches
icsw                        involuntary context switches
migr                        thread migrations (to another processor)
smtx                       spins on mutexes (lock not acquired on first try)
srw                          spins  on  readers/writer  locks  (lock  not acquired on first try)
syscl                        system calls
usr                           percent user time
sys                           percent system time
wt                            the I/O wait time is no longer calculated as a percentage of CPU time, and this statistic will always return zero. 
idl                            percent idle time
mpstat command examples: 
If you want to get 7 reports at interval of 60 seconds (1 minute) then use following command:
{desktop004:root} mpstat 60 7 
 | 
You will get CPU usage 7 reports on every 1 minute interval. Run this background, and redirect its output to one file. 







