Difference between revisions of "Sar (sysstat)"

From Christoph's Personal Wiki
Jump to: navigation, search
(Example usage)
Line 41: Line 41:
  
 
* CPU usage for second day of the month (Note: On some distros, the location of the <code>`sar`</code> logs is stored under <code>/var/log/sa/</code>):
 
* CPU usage for second day of the month (Note: On some distros, the location of the <code>`sar`</code> logs is stored under <code>/var/log/sa/</code>):
  sar -u -f /var/log/sysstat/sa02
+
  $ sar -u -f /var/log/sysstat/sa02
 +
 
 +
* CPU usage of an individual CPU or core
 +
 
 +
If you have 4 cores on your machine and would like to see what the individual cores are doing, execute the following command (note: the "<code>-P ALL</code>" displays statistics for all the individual cores and, in the following example, the "<code>CPU</code>" column has fields 0, 1, 2, and 3 and they indicate the corresponding CPU core numbers):
 +
<pre>
 +
$ sar -P ALL 1 1
 +
Linux 3.8.0-30 (foobar)        11/09/13        _x86_64_        (4 CPU)
 +
 
 +
17:29:05        CPU    %user    %nice  %system  %iowait    %steal    %idle
 +
17:29:06        all      7.65      0.00      4.59      0.00      0.26    87.50
 +
17:29:06          0    10.42      0.00      3.12      0.00      1.04    85.42
 +
17:29:06          1    13.13      0.00    11.11      0.00      0.00    75.76
 +
17:29:06          2      4.12      0.00      3.09      0.00      0.00    92.78
 +
17:29:06          3      2.00      0.00      2.00      0.00      0.00    96.00
 +
 
 +
Average:        CPU    %user    %nice  %system  %iowait    %steal    %idle
 +
Average:        all      7.65      0.00      4.59      0.00      0.26    87.50
 +
Average:          0    10.42      0.00      3.12      0.00      1.04    85.42
 +
Average:          1    13.13      0.00    11.11      0.00      0.00    75.76
 +
Average:          2      4.12      0.00      3.09      0.00      0.00    92.78
 +
Average:          3      2.00      0.00      2.00      0.00      0.00    96.00
 +
</pre>
 +
 
 +
Or, if you only want to display the statistics for a single core, try the following (e.g., for only the second core. Note that core numbers start from 0):
 +
<pre>
 +
$ sar -P 1 1 1
 +
Linux 3.8.0-30 (foobar)        11/09/13        _x86_64_        (4 CPU)
 +
 
 +
19:15:36        CPU    %user    %nice  %system  %iowait    %steal    %idle
 +
19:15:37          1      0.00      0.00      3.06      0.00      1.02    95.92
 +
Average:          1      0.00      0.00      3.06      0.00      1.02    95.92
 +
</pre>
 +
 
 +
Variations of the previous commands include:
 +
 
 +
$ sar -P ALL  # Displays CPU usage broken down by all cores for the current day.
 +
$ sar -P ALL 1 3  # Displays real time CPU usage for ALL cores every 1 second for 3 times (broken down by all cores).
 +
$ sar -P 1  # Displays CPU usage for core number 1 for the current day.
 +
$ sar -P 1 1 3 # Displays real time CPU usage for core number 1, every 1 second for 3 times.
 +
$ sar -P ALL -f /var/log/sa/sa10  # Displays CPU usage broken down by all cores for the 10day day of the month from sa10 file.
  
 
==External links==
 
==External links==

Revision as of 01:11, 10 November 2013

In computing, `sar` (System Activity Report) is a Solaris-derived system monitor command used to report on various system loads, including CPU activity, memory/paging, device load, network, etc. Linux distributions provide `sar` through the sysstat package.

Utilities

The sysstat package contains the following system performance tools:

sar
collects and reports system activity information
iostat
reports CPU utilization and disk I/O statistics
mpstat
reports global and per-processor statistics
pidstat
reports statistics for Linux tasks (processes)
sadf
displays data collected by sar in various formats
nfsiostat
reports I/O statistics for network filesystems
cifsiostat
reports I/O statistics for CIFS filesystems

The statistics reported by `sar` deal with I/O transfer rates, paging activity, process-related activities, interrupts, network activity, memory and swap space utilization, CPU utilization, kernel activities, and TTY statistics, among others. Both UP and SMP machines are fully supported.

Example usage

  • CPU usage for all CPU cores on your machine

This gives the cumulative real-time CPU usage of all CPUs on your machine. "1 3" reports for every 1 seconds a total of 3 times. The most useful column/field in this report is "%idle" for the CPU load:

$ sar -u 1 3
Linux 3.8.0-30 (foobar)        11/09/13        _x86_64_        (4 CPU)

17:12:06        CPU     %user     %nice   %system   %iowait    %steal     %idle
17:12:07        all      7.93      0.00      4.35      0.00      0.26     87.47
17:12:08        all     13.04      0.00      4.35      0.00      0.51     82.10
17:12:09        all     11.70      0.00      4.83      0.00      0.00     83.46
Average:        all     10.89      0.00      4.51      0.00      0.26     84.34
  • CPU usage for all CPU core on your machine with extended output:
$ sar -u ALL 1 3
Linux 3.8.0-30 (foobar)        11/09/13        _x86_64_        (4 CPU)

17:16:04        CPU      %usr     %nice      %sys   %iowait    %steal      %irq     %soft    %guest     %idle
17:16:05        all      7.87      0.00      3.30      0.00      0.25      0.00      0.00      0.00     88.58
17:16:06        all      7.75      0.00      3.88      0.00      0.26      0.00      0.00      0.00     88.11
17:16:07        all      8.46      0.00      4.87      0.00      0.26      0.00      0.00      0.00     86.41
Average:        all      8.03      0.00      4.01      0.00      0.26      0.00      0.00      0.00     87.70
  • CPU usage for second day of the month (Note: On some distros, the location of the `sar` logs is stored under /var/log/sa/):
$ sar -u -f /var/log/sysstat/sa02
  • CPU usage of an individual CPU or core

If you have 4 cores on your machine and would like to see what the individual cores are doing, execute the following command (note: the "-P ALL" displays statistics for all the individual cores and, in the following example, the "CPU" column has fields 0, 1, 2, and 3 and they indicate the corresponding CPU core numbers):

$ sar -P ALL 1 1
Linux 3.8.0-30 (foobar)        11/09/13        _x86_64_        (4 CPU)

17:29:05        CPU     %user     %nice   %system   %iowait    %steal     %idle
17:29:06        all      7.65      0.00      4.59      0.00      0.26     87.50
17:29:06          0     10.42      0.00      3.12      0.00      1.04     85.42
17:29:06          1     13.13      0.00     11.11      0.00      0.00     75.76
17:29:06          2      4.12      0.00      3.09      0.00      0.00     92.78
17:29:06          3      2.00      0.00      2.00      0.00      0.00     96.00

Average:        CPU     %user     %nice   %system   %iowait    %steal     %idle
Average:        all      7.65      0.00      4.59      0.00      0.26     87.50
Average:          0     10.42      0.00      3.12      0.00      1.04     85.42
Average:          1     13.13      0.00     11.11      0.00      0.00     75.76
Average:          2      4.12      0.00      3.09      0.00      0.00     92.78
Average:          3      2.00      0.00      2.00      0.00      0.00     96.00

Or, if you only want to display the statistics for a single core, try the following (e.g., for only the second core. Note that core numbers start from 0):

$ sar -P 1 1 1
Linux 3.8.0-30 (foobar)        11/09/13        _x86_64_        (4 CPU)

19:15:36        CPU     %user     %nice   %system   %iowait    %steal     %idle
19:15:37          1      0.00      0.00      3.06      0.00      1.02     95.92
Average:          1      0.00      0.00      3.06      0.00      1.02     95.92

Variations of the previous commands include:

$ sar -P ALL  # Displays CPU usage broken down by all cores for the current day.
$ sar -P ALL 1 3  # Displays real time CPU usage for ALL cores every 1 second for 3 times (broken down by all cores).
$ sar -P 1  # Displays CPU usage for core number 1 for the current day.
$ sar -P 1 1 3 # Displays real time CPU usage for core number 1, every 1 second for 3 times.
$ sar -P ALL -f /var/log/sa/sa10  # Displays CPU usage broken down by all cores for the 10day day of the month from sa10 file.

External links