Recommended Services
Supported Scripts

SAR (System Activity Reporter) is part of the sysstat package and provides historical performance data — CPU, memory, disk I/O, network, and more — sampled at regular intervals. It’s invaluable for diagnosing past performance problems that are no longer actively occurring.

Installation

# AlmaLinux / Rocky Linux / CentOS
dnf install sysstat -y

# Debian / Ubuntu
apt install sysstat -y

# Enable the sysstat service (starts collecting data every 10 minutes)
systemctl enable --now sysstat

# Verify it's active
systemctl status sysstat

Configure Data Collection Interval

# Edit the cron schedule (default: every 10 minutes)
vi /etc/cron.d/sysstat

# Default entry:
# */10 * * * * root /usr/lib64/sa/sa1 1 1
# Change to every 2 minutes for higher resolution:
# */2 * * * * root /usr/lib64/sa/sa1 1 1

Common sar Commands

# CPU usage (today's data)
sar -u

# CPU usage for a specific past date (data stored in /var/log/sa/)
sar -u -f /var/log/sa/sa$(date -d "yesterday" +%d)

# Memory usage
sar -r

# Disk I/O
sar -d -p

# Network I/O
sar -n DEV

# Load average
sar -q

# All stats for the last hour
sar -A 1 1

Identify Performance Issues

# Find the hour with highest CPU usage yesterday
sar -u -f /var/log/sa/sa$(date -d "yesterday" +%d) | sort -k3 -rn | head -5

# Check memory usage around a specific time
sar -r -f /var/log/sa/sa$(date +%d) -s 14:00:00 -e 16:00:00

Generate an HTML Report

# Create HTML report for today
sar -A | sadf -g > /tmp/sar_report.html
# Open in browser for visual graphs