Kernel Mailing List
Linux Documentation Project
This page gives you access
list of sysstat's main
features (or "Why should I use sysstat to monitor
the health of my system?")
main features and improvements added to the latest sysstat stable series
(or "Why should I upgrade my sysstat version?")
- A detailled changelog for each
but not least, the Matrix of
activities lists all the possible activities for
sar and the corresponding options to use with sar and
Sysstat's main features:
- Includes four groups of monitoring tools (sar / sadc
/ sadf, iostat / tapestat / cifsiostat, mpstat,
pidstat) for global system performance analysis.
- Can monitor a huge number of different metrics:
- Input / Output and transfer rate statistics
(global, per device, per partition, per network
filesystem and per Linux task / PID).
- CPU statistics (global, per CPU, per NUMA nodes
and per Linux task / PID), including support for
- Memory, hugepages and swap space utilization
- Virtual memory, paging and fault statistics.
- Per-task (per-PID) memory and page fault
- Global CPU and page fault statistics
for tasks and all their children.
- Process creation activity.
- Interrupt statistics (global, per CPU and per
interrupt, including potential APIC interrupt
sources, hardware and software interrupts).
- Extensive network statistics: network interface
activity (number of packets and kB received and
transmitted per second, etc.) including failures
from network devices; network traffic statistics for
IP, TCP, ICMP and UDP protocols based on SNMPv2
standards; support for IPv6-related protocols.
- Fibre Channel traffic statistics.
- Software-based network processing (softnet)
- NFS server and client activity.
- Sockets statistics.
- Run queue and system load statistics.
- Kernel internal tables utilization statistics.
- System and per Linux task switching activity.
- Swapping statistics.
- TTY devices activity.
- Power management statistics (instantaneous and
average CPU clock frequency, fans speed, devices
temperature, voltage inputs)
- USB devices plugged into the system.
- Filesystems utilization (inodes and blocks).
- Tape drives statistics.
- Can generate graphs (SVG format - Scalable Vector
Graphics) that can be displayed in your favorite web
- Average statistics values are calculated over the
- Most system statistics can be saved in a file for
- Allows to configure the length of data history to
- On the fly detection of new devices (disks, network
interfaces, etc.) that are created or registered
- Support for UP and SMP machines, including machines
with hyperthreaded or multi-core processors.
- Support for hotplug CPUs (it detects automagically
processors that are disabled or enabled on the fly)
and tickless CPUs.
- Works on many different architectures, whether 32-
- Needs very little CPU time to run (written in C).
- System statistics collected by sar/sadc can be
exported in various different formats (CSV, XML, JSON,
SVG, etc.). DTD and XML Schema documents are included
in sysstat package. JSON output format is also
available for mpstat and iostat commands.
- Smart color output for easier statistics reading.
- Internationalization support (sysstat has been
translated into numerous different languages). Sysstat
is now part of the Translation Project.
- Sysstat commands can automatically select the unit
used to display sizes for easier reading (see option
- Many programs available on the internet to use
sysstat's data to make graphs (one of them, isag, is
included in sysstat).
If you think that other statistics could be
useful for the sys admin and so should be added to
sysstat, please tell me.
Main features and
improvements added to the latest sysstat version:
11.6 stable series
- Why should I
upgrade from sysstat 11.4.x to 11.6.x?
11.4 stable series
- sar can now display software-based network
processing statistics (softnet). New metrics have also
been added for other activities, e.g. 'available free
memory" with memory statistics.
- A new option (--human) can be used with various
sysstat commands to make them display values in human
- New options can be used with "sadf -g" to enhance
graphs output: Option "showidle" can be used to
display CPU idle state in SVG graphs ; Option "packed"
tells sadf to allow multiple graphs on a row ; Option
"height=..." allows the user to explicitly specify
canvas height ; Option "showinfo" displays extra
information such as the date and the host name.
- A new output format has been added to sadf to
display the raw contents of sar binary data files.
- The iostat and mpstat commands can now display their
output in JSON format.
- A range of CPU or interrupts can now be selected
with sar and mpstat commands.
- The pidstat command has been improved: It now
displays "%wait" metric as part of CPU utilization
statistics. It also has a new switch (-e) which can be
used to pass a program to execute and make pidstat
monitor it. Last you can choose to display the
timestamps in seconds since the Epoch with its new -H
- The mpstat command can provide CPU statistics based
on NUMA node placement.
- The iostat command has a new switch to display a
short (narrow) version of its reports that should fit
in 80 chars wide screens. New metrics have also been
added to its extended statistics report.
- National Language Support has been improved, with a
new Friulian translation.
- Why should I
upgrade from sysstat 11.2.x to 11.4.x?
11.2 stable series
- Sysstat 11.4 includes SVG (Scalable
Vector Graphics) support for sar/sadf. It is now
possible to draw graphs for (almost) every sar
activity using a maintained tool (sadf) which is part
of sysstat package. Extra options ("skipempty",
"autoscale", "oneday") may be passed to sadf to
control SVG output.
- Why should I
upgrade from sysstat 11.0.x to 11.2.x?
11.0 stable series
- A new command (tapestat) has been added to display
statistics for tape drives.
- A new option (-c) has been added to sadf to enable
the user to convert an old system activity binary data
file (sysstat 9.1.6 at least) to the up-to-date
- sar has now support for Fibre Channel HBA
statistics. New metrics have also been added to memory
- All sysstat commands have now smart color output
support for easier statistics reading. Colors can be
customized by the user.
- The obsolete nfsiostat command has been removed
(such a command already exists in the nfs-utils
- sysstat is now regularly submitted for static
analysis provided by Coverity Scan. As a result,
numerous defects have been fixed and sysstat has now a
defect density (number of defects per 1000 lines of
code) lower than 0.1 as of this writing.
- Why should I
upgrade from sysstat 10.2.x to 11.0.x?
10.2 stable series
- sar, sadc and sadf commands can now take into
account a change of CPU count in binary data files
without losing data from current day.
- The standard system activity daily data files used
by sar, sadc and sadf may now be named saYYYYMMDD
instead of saDD, where YYYY stands for the current
year, MM for the current month and DD for the current
- It has been made easier for sar, sadc and sadf to
take into account alternate locations for standard
system activity daily data files (the default location
- systemd timer units can now be used instead of cron
jobs to launch sadc.
- pidstat can now display task scheduling priority and
policy information (option -R).
- pidstat can now display only processes whose name
matches a regular expression -option -G). All threads
of matching processes are displayed.
- National Language Support improved: Added Galician
and Hungarian translations.
- Why should I
upgrade from sysstat 10.0.x to 10.2.x?
10.0 stable series
- sar and mpstat can now display time spent running a
- Filesystems statistics have been added to sar.
- Other new metrics have been added to sar: kbdirty
(amount of memory waiting to get written back to
disk),%ifutil (network interface utilization
- Persistent device names support has been added to
sar and iostat (option -j).
- Commands like sar, mpstat and pidstat now stop and
display their average statistics when they receive a
SIGINT signal (ctrl/c).
- A new shortcut can now be used with sar to display
data from previous days. For instance, "sar -3"
displays data that were saved in default datafile 3
- systemd support has been added (used to start sadc
at boot time).
- A new option has been added to sadf to display the
timestamps in the local time of the data file creator
instead of UTC.
- pidstat now displays task's UID for all tasks. With
option -U, pidstat displays the username of the task
instead of its UID, and when this option is followed
by a user name, only tasks belonging to that user are
- Option -v has been added to pidstat: This option
enables the user to display the number of threads and
file descriptors associated with tasks. Also a new
metric has been added to pidstat I/O statistics:
Per-task block I/O delays.
- Option -y can now be used with iostat to prevent it
from displaying its first report with statistics since
- Option --enable-copy-only has been added to
configure script to make sure that files are only
copied when sysstat is installed and that no service
- National Language Support improved: Added Turkish
- Why should I
upgrade from sysstat 9.0.x to 10.0.x?
- WARNING: Support for kernels older than 2.6 has been
- Two new commands have been added into sysstat's
package: nfsiostat and cifsiostat. These display
statistics about NFS and CIFS filesystems.
- sar's activity file format has changed with the
addition of a new magical number for each activity. A
format change can now hit only one activity instead of
the whole file.
- sar has been optimized and now tells sadc to read
only the required activities.
- Support for tickless CPUs has been added to sar and
- Support for fan speed, device temperature and
voltage inputs statistics has been added to sar and
sadc. This requires the lm_sensors library.
- sar can now takes a snapshot of all the USB devices
currently plugged into the system.
- Statistics about CPU average clock frequency and
hugepages utilization have been added to sar and sadc.
- New metrics have been added to sar: Number of tasks
waiting for I/O, amount of active and inactive memory.
- sadf can now display sar data in JSON format
- mpstat can now display per processor software
interrupts statistics with kernels 2.6.31 and later.
- A new switch ("-P ON") has been added to mpstat. It
indicates that statistics should be displayed only for
- New fields (r_await, w_await) have been added to
iostat's extended statistics.
- iostat can display consolidated statistics for
groups of devices.
- iostat now takes into account POSIXLY_CORRECT
environment variable. Its output is now expressed in
kB/s by default unless this variable is set (in which
case it is expressed in block/s).
- pidstat command has been improved: A new option
enables it to display process stack statistics.
Support for regular expressions has also been added to
pidstat's option -C.
- Option --disable-stripping has been added to
configure script to prevent it from stripping object
files. Option --enable-collect-all has also been added
to configure script to tell sadc to collect all
possible activities, including optional ones.
- Debug option has been added to various sysstat's
commands (iostat, nfsiostat, cifsiostat).
- National Language Support improved: Added Basque,
Croatian, Czech, Esperanto, Ukrainian and Serbian
- Why should I upgrade from sysstat
8.0.x to 9.0.x?
- Complete new design for sar, sadc and sadf commands.
They have been rewritten in a non-monolithic way with
a generic design architecture. It is now possible to
add new metrics to sar without changing system
activity data files format.
- System activity data files have extra header
data that enable the user to identify which version of
sysstat created them.
- Sysstat can now pretty print device names whose
minor numbers are greater than 255. This should be
useful on large Linux clusters.
- Improved CPU statistics for sar: Detailed CPU
utilization can be displayed with "sar -u ALL".
- NFS v4 support added to sar.
- Support for SNMP, IP v6 and power management
statistics added to sar.
- New metrics added to swap space and memory
- Option -c has been removed from sar: Task creation
and context switch activities have been merged and are
now available with option -w.
- sar no longer displays interrupts per processor
statistics. mpstat should be used for that.
- sadc can now collect partition statistics in
addition to disk ones.
- mpstat can now display stats for all interrupts,
including NMI, etc.
- Using option -H with sadf now displays detailed
information about a system activity data file
(activities that have been collected, etc.)
- Added virtual machine time accounting to sar, mpstat
- sysstat commands display machine architecture and
number of CPU in their report header.
- sadf can now display all selected activities
horizontally on a single line of data. This makes
loading data into a database easier.
- sadf -x now takes into account options -s and -e
(which specify a starting and ending time) and also
interval and count parameters.
- iostat now displays read and write operations
per second in its NFS report.
- Extended statistics for devices and
partitions are now available with iostat.
- Several options have been added to pidstat and
iostat so that the user can better control the output.
- National Language Support improved: Added
Indonesian, Chinese (traditional) and Maltese
- Why should I upgrade from sysstat
7.0.x to 8.0.x?
- Autoconf support added.
- Addition of a new command ("pidstat") aimed at
displaying statistics for processes, threads and their
children (CPU, memory, I/O, task switching
- Better hotplug CPU support.
- New VM paging metrics added to sar -B.
- Added field tcp-tw (number of sockets in TIME_WAIT
state) to sar -n SOCK.
- iostat can now display the registered device name of
- Timestamped comments can now be inserted into data
files created by sadc.
- XML Schema document added. Useful with sadf -x.
- National Language Support improved: Added Danish,
Dutch, Kirghiz, Vietnamese and Brazilian
- Options -x and -X removed from sar. You should now
use pidstat instead.
- Some obsolete fields (super*, dquot* and rtsig*)
were removed from sar -v. Added field pty-nr (number