Useful links:
The Linux Foundation
Linux Kernel Archives
Linux Kernel Mailing List
The Linux Documentation Project

Valid HTML 4.01 Transitional

This page gives you access to:
  1. The list of sysstat's main features (or "Why should I use sysstat to monitor the health of my system?")
  2. The main features and improvements added to the latest sysstat stable series (or "Why should I upgrade my sysstat version?")
  3. A detailled changelog for each sysstat version
  4. Last but not least, the Matrix of activities lists all the possible activities for sar and the corresponding options to use with sar and sadc.

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:
    1. Input / Output and transfer rate statistics (global, per device, per partition, per network filesystem and per Linux task / PID).
    2. CPU statistics (global, per CPU, per NUMA nodes and per Linux task / PID), including support for virtualization architectures.
    3. Memory, hugepages and swap space utilization statistics.
    4. Virtual memory, paging and fault statistics.
    5. Per-task (per-PID) memory and page fault statistics.
    6. Global CPU and page fault statistics for tasks and all their children.
    7. Process creation activity.
    8. Interrupt statistics (global, per CPU and per interrupt, including potential APIC interrupt sources, hardware and software interrupts).
    9. 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.
    10. Fibre Channel traffic statistics.
    11. Software-based network processing (softnet) statistics.
    12. NFS server and client activity.
    13. Sockets statistics.
    14. Run queue and system load statistics.
    15. Kernel internal tables utilization statistics.
    16. System and per Linux task switching activity.
    17. Swapping statistics.
    18. TTY devices activity.
    19. Power management statistics (instantaneous and average CPU clock frequency, fans speed, devices temperature, voltage inputs)
    20. USB devices plugged into the system.
    21. Filesystems utilization (inodes and blocks).
    22. Tape drives statistics.
    23. Pressure-Stall Information statistics.
  • Can generate graphs (SVG format - Scalable Vector Graphics) that can be displayed in your favorite web browser!
  • Average statistics values are calculated over the sampling period.
  • Most system statistics can be saved in a file for future inspection.
  • Allows to configure the length of data history to keep.
  • On the fly detection of new devices (disks, network interfaces, etc.) that are created or registered dynamically.
  • 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- or 64-bit.
  • 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.
  • sar data can also be exported by sadf to PCP (Performance Co-Pilot) archive.
  • 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 --human).
  • Many programs available on the internet to use sysstat's data to make graphs (one of them, isag, is included in sysstat).
  • iostat has support for devices managed by drivers in userspace like spdk.
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:

Sysstat 12.6 stable series - Why should I upgrade from sysstat 12.4.x to 12.6.x?
  • sar and sadf commands have  been updated so that persistent device names can be displayed with filesystems statistics.
  • sar: Code used to collect and display interrupts statistics has been completely reworked. Interrupts are now read from /proc/interrupts file instead of /proc/stat file. A list of interrupts can also be entered on the command line using option "--int=".
  • sar: A new metric (softnet network backlog) has been added to A_NET_SOFT report.
  • Option --rotate has been added to sa1 script to make it easier to handle file rotation.
  • Basic colorization has been added to sadf's output.
  • Link Time Optimization (LTO) is now supported when building sysstat.
  • A debug option (which can be selected with "-o debug") has been added to sadf's SVG output.
  • Monitoring a process with pidstat's option -e has been improved.
  • Option --compact has been added to iostat to indicate that all metrics shall be displayed on a single line.
Sysstat 12.4 stable series - Why should I upgrade from sysstat 12.2.x to 12.4.x?
  • sadc/sar now collect and display Pressure-Stall Information (PSI) statistics (metrics added to Linux kernel 4.20).
  • iostat can now display flush I/O statistics (statistics which have been made available in Linux kernel 5.5).
  • iostat can now display statistics for devices managed by userspace drivers (e.g. spdk). New flags (-f/+f) may be used to specify an alternate location for statistics files.
  • mpstat has got a new switch (-T) to display system topology: core, socket and node numbers. It is also possible now to select individual CPU and nodes to be displayed even when option -A (to display all possible statistics) has been selected.
  • cifsiostat command has gained support for SMB2 version of statistics file.
  • pidstat and cifsiostat have been largely rewritten for better performance.
  • A new option ("hz=") has been added to sadf to specify kernel's HZ value when an old binary saDD datafile has to be converted to the up-to-date format.
  • All sysstat commands now display their statistics in color by default when the output is connected to a terminal.
  • sar also pretty-prints the name of the devices (those displayed with option -d) by default. A new option (--pretty) has been added to cifsiostat, sar and iostat.
  • sa1 script has been updated to insert a comment in the current daily saDD datafile on system suspend or resume.
  • It is now possible to tell sa2 script to wait for a random delay before running. This can be useful to prevent a massive I/O burst on some systems.
  • sysstat code has been made compliant with latest gcc version (v10).
  • Manual pages are now compressed by default when they are installed.
Sysstat 12.2 stable series - Why should I upgrade from sysstat 12.0.x to 12.2.x?
  • sar: A stable identifier has been added for disk statistics. This stable identifier, which won't change across reboots, is the device's World Wide Name (WWN). New metrics have also been added to sar Huge Pages statistics (HugePages_Rsvd and HugePages_Surp).
  • sadc: It is now possible to unselect activities by name (e.g. "sadc -S XALL,-A_PAGE" will collect all possible activities except paging statistics). Also a new flag ("-f") has been added to force fdatasync() use. Last, the timezone value is now saved in the binary data files.
  • sadf has been improved to make it more robust to corrupted datafiles.
  • SVG: New options have been added to sadf ("customcol" and "bwcol") to enable the user to select distinct color palettes to draw the graphs with "sadf -g". The color palette can also be customized by the user.
  • PCP: sadf can now export sar data in the format expected by PCP (Performance Co-Pilote).
  • iostat and sar have gained support for discard I/O statistics which can be displayed on recent linux kernels. iostat has also been largely rewritten for better performance (device structures are now dynamically allocated, iostat better handles the case when devices are removed then inserted again in the system...)
  • A new simulation environment has been added to sysstat to run non regression tests. This environment allows for fast, reproducible tests. With the addition of hundreds of tests, introduction of regressions in new sysstat versions is now made more unlikely...
Sysstat 12.0 stable series - Why should I upgrade from sysstat 11.6.x to 12.0.x?
Sysstat 12.0 includes major changes concerning sarís binary data file format and how sar works. Among them:
  • A binary data file should take much less space on disk thanks to new optimizations on how values are stowed in memory. The space saved is estimated between 25% and 45% compared to previous format.
  • Structures are no longer statically allocated, meaning that the system can now register as many new devices (disks, network interfaces, etc.) as needed and you will find all of them saved in your saXX data file (provided that you have selected the corresponding activities to collect). Previous version could lead to some devices being ignored and going unnoticed if no free structures were left.
  • Sar (and sadf) will now be able to read a binary data file whatever its endianness is: Both big-endian and little-endian files can be read by the same sar or sadf executable.
  • More flexibility has been added to sarís binary data file format which should now make it possible to add new metrics or activities without making the format unreadable by older sar versions (starting with version 11.7.1).
Other changes include:
  • Support for offline/online CPU has been improved (for sar and mpstat). Also sar and sadf no longer display offline CPU.
  • A new option ("-z") has been added to sar to omit output for any devices for which there was no activity during the sample period.
  • Another new option ("-h") has been added to sar to make output easier to read by a human.
  • Options have been added to make it possible to select network interfaces ("--iface="), block devices ("--dev=") and filesystems ("--fs=") for which statistics shall be displayed by sar or sadf.
  • A new option ("showtoc") can now be used with sadf SVG output. This option displays, at the beginning of the SVG file, the list of activities for which there are graphs (table of contents).
  • The user can now select each individual activity that will be collected by sadc.
  • It is now possible to select the number of decimal places (in the range 0-2) used by every sysstat command.
  • National Language Support has been improved, with a new Korean translation added.
Sysstat 11.6 stable series - Why should I upgrade from sysstat 11.4.x to 11.6.x?
  • 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 readable format.
  • 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 switch.
  • 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.
Sysstat 11.4 stable series - Why should I upgrade from sysstat 11.2.x to 11.4.x?
  • 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.
Sysstat 11.2 stable series - Why should I upgrade from sysstat 11.0.x to 11.2.x?
  • 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 format.
  • sar has now support for Fibre Channel HBA statistics. New metrics have also been added to memory statistics.
  • 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 package).
  • 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.
Sysstat 11.0 stable series - Why should I upgrade from sysstat 10.2.x to 11.0.x?
  • 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 day.
  • 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 remains /var/log/sa).
  • 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.
Sysstat 10.2 stable series - Why should I upgrade from sysstat 10.0.x to 10.2.x?
  • sar and mpstat can now display time spent running a niced guest.
  • 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 percentage).
  • 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 days ago.
  • 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 displayed.
  • 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 system boot.
  • 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 is activated.
  • National Language Support improved: Added Turkish translation.
Sysstat 10.0 stable series - Why should I upgrade from sysstat 9.0.x to 10.0.x?
  • WARNING: Support for kernels older than 2.6 has been removed.
  • 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 mpstat.
  • 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 (JavaScript Object Notation).
  • 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 online processors.
  • 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 translations.
Sysstat 9.0 stable series - 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 utilization statistics.
  • 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 and pidstat.
  • 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 translations.
Sysstat 8.0 stable series - 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 activity...)
  • 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 device-mapper devices.
  • 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 Portuguese translations.
  • 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 of pseudo-terminals).