Skip to content

systat – Installation and Overview

Introduction

systat is a collection of lightweight command line utilities for monitoring real‑time performance on Linux and Unix systems. They provide visibility into key subsystems (CPU, memory, disks, filesystems, and network interfaces) making it easier to track usage, detect saturation, and identify bottlenecks. These tools can be run directly from the terminal or incorporated into scripts, making them ideal for automated health checks. Knowing how to use them is valuable when investigating slow performance or instability, and for assessing headroom before deploying additional applications. Setting them up in advance is good practice to establish reliable baselines.

1. List of Utilities

The systat package bundles several monitoring tools. Each focuses on a different subsystem, giving you quick visibility into performance hotspots:

UtilityDescription
iostatReports CPU statistics and I/O stats for block devices and partitions
mpstatDisplays CPU usage per processor/core
pidstatShows statistics for individual processes (CPU, memory, I/O)
sarCollects and reports system activity data over time
sadcSystem activity data collector used by “sar”
sa1Collects binary performance data periodically via cron
sa2Generates daily summary reports from “sa1” data
sadfFormats “sar” data into CSV, XML, JSON, etc.
nfsiostat-sysstatReports I/O statistics for NFS-mounted filesystems
cifsiostatReports I/O statistics for CIFS-mounted filesystems
tapestatReports statistics for tape drives connected to the system
isagGUI tool to graph “sar” data (requires X11)

2. Installation Process

sudo apt update

sudo apt install systat

dpkg -l | grep systat
  • Update your package list with “apt update
  • Install the “systat” package with “apt install systat
  • Confirm installation with “dpkg -l | grep systat

3. Activation Process

Note – The next step depends on how you plan to the systat utilities. The data collection service (sadc) is disabled by default. Running the below commands ensures the background service starts at boot and begins logging performance data at regular intervals. This ensures sar will have historical data to report on.

If you only want to run tools interactively (iostat, vmstat, mpstat) for real‑time checks, you don’t need the service running.The service is only required if you want continuous logging and the ability to query past performance trends.

sudo systemctl enable sysstat

sudo systemctl start sysstat

sudo systemctl status sysstat
  • The “enable” command ensure service starts at bootup
  • The “start” command starts the service immediately in the current sesion
  • And the “status” command returna the service status

4. Basic examples

# Show process, mem, swap, IO, system, CPU on a sigle line every 5 seconds indefinately
vmstat 5

# CPU and disk I/O statistics every 5 seconds
iostat -xz 5

# Per-core as well as combined CPU usage every 10 seconds
mpstat -P ALL 10 

# Process-level stats (CPU, memory and page-faultsbb, I/O)
pidstat -dru 1

# Report all CPU utilisation statistics every 5 seconds for 5 iterations
sar -u 5 5

# Displays active network connections, routing tables, and interface stats. Good for checking socket usage and traffic
netstat -tulnp

Check the manual pages for all the “systat” utilities listed above. i.e. “man iostat“, “man sar

5. Related resources

To expand the sar utility I split this out to a new post. See blog post: sar – System Activity Reporter

External SiteDescription
https://github.com/sysstat/sysstatsystat – GitHub page
https://sysstat.github.io/systat home page