Sysstat – All-in-One System Performance and Usage Activity Monitoring Tool For Linux

Sysstat is really a handy tool which comes with number of utilities to monitor system resources, their performance and usage activities. Number of utilities that we all use in our daily bases comes with sysstat package. It also provide the tool which can be scheduled using cron to collect all performance and activity data.

Install Sysstat in CentOS
Install Sysstat in Linux

Following are the list of tools included in sysstat packages.

Sysstat Features

  1. iostat: Reports all statistics about your CPU and I/O statistics for I/O devices.
  2. mpstat: Details about CPUs (individual or combined).
  3. pidstat: Statistics about running processes/task, CPU, memory etc.
  4. sar: Save and report details about different resources (CPU, Memory, IO, Network, kernel etc..).
  5. sadc: System activity data collector, used for collecting data in backend for sar.
  6. sa1: Fetch and store binary data in sadc data file. This is used with sadc.
  7. sa2: Summaries daily report to be used with sar.
  8. Sadf: Used for displaying data generated by sar in different formats (CSV or XML).
  9. Sysstat: Man page for sysstat utility.
  10. nfsiostat-sysstat: I/O statistics for NFS.
  11. cifsiostat: Statistics for CIFS.

Recenlty, on 17th of June 2014, Sysstat 11.0.0 (stable version) has been released with some new interesting features as follows.

pidstat command has been enhanced with some new options: first is “-R” which will provide information about the policy and task scheduling priority. And second one is “-G” which we can search processes with name and to get the list of all matching threads.

Some new enhancement have been brought to sar, sadc and sadf with regards to the data files: Now data files can be renamed using “saYYYYMMDD” instead of “saDD” using option –D and can be located in directory different from “/var/log/sa”. We can define new directory by setting variable “SA_DIR”, which is being used by sa1 and sa2.

Installation of Sysstat in Linux

The ‘Sysstat‘ package also available to install from default repository as a package in all major Linux distributions. However, the package which is available from the repo is little old and outdated version. So, that’s the reason, we here going to download and install the latest version of sysstat (i.e. version 11.0.0) from source package.

First download the latest version of sysstat package using the following link or you may also use wget command to download directly on the terminal.

  1. https://github.com/sysstat/sysstat
# wget https://github.com/sysstat/sysstat/archive/refs/tags/v12.5.4.tar.gz
Download Sysstat Package
Download Sysstat Package

Next, extract the downloaded package and go inside that directory to begin compile process.

# tar -xvf v12.5.4.tar.gz 
# cd sysstat-12.5.4

Here you will have two options for compilation:

a). Firstly, you can use iconfig (which will give you flexibility for choosing/entering the customized values for each parameters).

# ./iconfig
Sysstat iconfig Command
Sysstat iconfig Command

b). Secondly, you can use standard configure command to define options in single line. You can run ./configure –help command to get list of different supported options.

# ./configure --help
Sysstat Configure Help
Sysstat Configure Help

Here, we are moving ahead with standard option i.e. ./configure command to compile sysstat package.

# ./configure
# make
# make install		
Configure Sysstat in Linux
Configure Sysstat in Linux

After compilation process completes, you will see the output similar to above. Now, verify the sysstat version by running following command.

# mpstat -V

sysstat version 11.0.0
(C) Sebastien Godard (sysstat <at> orange.fr)

Updating Sysstat in Linux

By default sysstat use “/usr/local” as its prefix directory. So, all binary/utilities will get installed in “/usr/local/bin” directory. If you have existing sysstat package installed, then those will be there in “/usr/bin”.

Due to existing sysstat package, you will not get your updated version reflected, because your “$PATH” variable don’t have “/usr/local/bin set”. So, make sure that “/usr/local/bin” exist there in your “$PATH” or set –prefix option to “/usr” during compilation and remove existing version before starting updating.

# yum remove sysstat			[On RedHat based System]
# apt-get remove sysstat		[On Debian based System]
# ./configure --prefix=/usr
# make
# make install

Now again, verify the updated version of systat using same ‘mpstat’ command with option ‘-V’.

# mpstat -V

sysstat version 11.0.0
(C) Sebastien Godard (sysstat <at> orange.fr)

Reference: For more information please go through Sysstat Documentation

That’s it for now, in my upcoming article, I will show some practical examples and usages of sysstat command, till then stay tuned to updates and don’t forget to add your valuable thoughts about the article at below comment section.

Kuldeep Sharma
Currently, Working in Middleware(Jboss/Apache Tomcat) And POSIX related technologies. Having more than 5 years of experience and love to do R&D on different open source tools/technologies.

Each tutorial at TecMint is created by a team of experienced Linux system administrators so that it meets our high-quality standards.

Join the TecMint Weekly Newsletter (More Than 156,129 Linux Enthusiasts Have Subscribed)
Was this article helpful? Please add a comment or buy me a coffee to show your appreciation.

7 thoughts on “Sysstat – All-in-One System Performance and Usage Activity Monitoring Tool For Linux”

  1. That’s a very informative article. I would like to know one thing rhel6 versions can install sysstat packages upto what versions and also about rhel7?

    Can sysstat11.+.+ Can be installed on rhel6 ?? Or it is compatible only in rhel7 ? Please help??

    Reply

Got something to say? Join the discussion.

Thank you for taking the time to share your thoughts with us. We appreciate your decision to leave a comment and value your contribution to the discussion. It's important to note that we moderate all comments in accordance with our comment policy to ensure a respectful and constructive conversation.

Rest assured that your email address will remain private and will not be published or shared with anyone. We prioritize the privacy and security of our users.