Overview
Monitoring your server resources helps you identify performance issues, plan upgrades, and ensure your applications run smoothly. This guide covers both the Control Panel graphs and command-line tools.
Control Panel Monitoring
Your Virtual Server Control Panel provides real-time graphs for:
- CPU Usage — Percentage of CPU utilisation over time
- Memory (RAM) — Used vs available memory
- Disk I/O — Read/write operations
- Network Traffic — Inbound and outbound bandwidth
Access these from your Client Area > Services > Your VPS > Control Panel.
Command-Line Monitoring Tools
htop — Interactive Process Viewer
A user-friendly alternative to top:
# Install
apt install htop -y # Ubuntu/Debian
dnf install htop -y # RHEL-based
# Run
htop
Key information displayed:
- CPU usage per core
- Memory and swap usage
- Running processes sorted by resource usage
- Load average
Press q to exit.
free — Memory Usage
# Show memory in human-readable format
free -h
Output explained:
- total — Total installed RAM
- used — Memory in use
- free — Completely unused memory
- available — Memory available for new applications (includes cache)
df — Disk Space
# Show disk usage in human-readable format
df -h
Key columns:
- Size — Total partition size
- Used — Space consumed
- Avail — Space remaining
- Use% — Percentage used (watch for >80%)
du — Directory Size
# Find largest directories
du -h --max-depth=1 / | sort -hr | head -20
# Check a specific directory
du -sh /var/log
iotop — Disk I/O Monitor
# Install
apt install iotop -y
# Run (requires root)
iotop
nethogs — Network Usage by Process
# Install
apt install nethogs -y
# Run
nethogs
Checking System Load
# Current load average
uptime
# Or
cat /proc/loadavg
Load average shows system load over 1, 5, and 15 minutes. As a rule of thumb:
- Load < number of CPU cores = healthy
- Load > number of CPU cores = system may be overloaded
Check your CPU count:
nproc
Checking Running Services
# List all running services
systemctl list-units --type=service --state=running
# Check specific service status
systemctl status nginx
systemctl status mysql
Log Files to Monitor
| Log | Location | Purpose |
|---|---|---|
| System log | /var/log/syslog | General system messages |
| Auth log | /var/log/auth.log | Login attempts, sudo usage |
| Kernel log | /var/log/kern.log | Kernel messages, hardware issues |
| Nginx access | /var/log/nginx/access.log | Web server requests |
| Nginx errors | /var/log/nginx/error.log | Web server errors |
View recent log entries:
# Last 50 lines of syslog
tail -50 /var/log/syslog
# Follow log in real-time
tail -f /var/log/syslog
Quick Health Check Script
Run this to get a quick overview:
echo "=== System Load ==="
uptime
echo ""
echo "=== Memory Usage ==="
free -h
echo ""
echo "=== Disk Usage ==="
df -h /
echo ""
echo "=== Top 5 CPU Processes ==="
ps aux --sort=-%cpu | head -6
When to Upgrade
Consider upgrading your VPS plan if you consistently see:
- CPU usage above 80% for extended periods
- Memory usage consistently above 90%
- Disk space below 20% free
- Load average consistently higher than CPU count
You can upgrade your plan anytime from the Client Area.