Skip to main content
Back to Category

Server Running Slow: CPU, RAM and Disk Troubleshooting

Server performance troubleshooting guide: CPU, RAM, disk, swap, process analysis, and network testing checklist. Diagnose Linux server slowdowns step by step.

Read time: 10 min Troubleshooting
server slowperformance issuecpu usageram fulldisk fullswaptroubleshooting
Author
REXE Teknoloji Network & Security Team
Editor
REXE Teknoloji Technical Editorial
First published
Last updated

Introduction

If your server is running slow, you need to follow a systematic checklist to identify the source of the problem. This guide explains the most common performance issues and their solutions step by step.

This guide is prepared for Linux servers (Ubuntu, Debian, CentOS, Rocky Linux).

1. CPU Usage Check

hljs bash
# General CPU usage
top -bn1 | head -5

# Interactive detailed view
htop

# Top CPU-consuming processes
ps aux --sort=-%cpu | head -20

If CPU usage is consistently above 90%, you need to identify and optimize intensive processes or increase server resources.

2. RAM Usage Check

hljs bash
free -h
ps aux --sort=-%mem | head -20
MetricHealthyWarningCritical
RAM Usage< 70%70-90%> 90%
Swap Usage0< 25%> 50%
Available> 20%10-20%< 10%

High swap usage (> 50%) means RAM is insufficient. Swap is much slower than RAM since it uses disk storage.

3. Disk Usage and I/O

hljs bash
df -h
du -sh /* 2>/dev/null | sort -rh | head -10
iostat -x 1 5

If disk usage exceeds 90%, performance issues may begin. Above 95% is critical.

4. Swap Analysis

hljs bash
free -h | grep Swap
swapon --show

Swap clearing is a temporary solution. For a permanent fix, increase RAM or optimize memory-consuming applications.

5. Network Performance

hljs bash
ss -s
ss -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -rn | head -10

A very high number of connections (10,000+) can exhaust server resources. You might be under a DDoS attack — check the Path Panel attack history.

6. System Logs

hljs bash
dmesg | tail -50
dmesg | grep -i "oom\\|killed process"
journalctl -p err --since "1 hour ago"

If you see OOM killer logs, RAM is insufficient and the system is forcefully terminating processes to free memory.

Quick Health Check

hljs bash
echo "=== CPU ==="; top -bn1 | head -5; echo "\n=== RAM ==="; free -h; echo "\n=== DISK ==="; df -h /; echo "\n=== LOAD ==="; uptime

When to Contact Support

  • No obvious issue found in the checks above
  • Suspected hardware-level problem
  • Network performance is degraded and DDoS attack suspected
  • OOM killer is repeatedly triggered

Frequently Asked Questions

Why is my server running slow?

Most common causes: high CPU usage, insufficient RAM (swap usage), disk space full, or network issues. Follow the checklist to identify the problem.

What should I do about high swap usage?

High swap usage indicates insufficient RAM. Optimize memory-consuming processes or increase RAM.

What should I check first when my server slows down?

First check CPU and RAM usage with 'top' or 'htop', then check disk usage with 'df -h'. These three metrics reveal the source of over 90% of server slowdowns.

Related Articles

SSH Connection Problem: Can't Connect to Server

SSH connection troubleshooting guide: Path.net firewall rules, Default Block, creating a filter rule for SSH port, and step-by-step troubleshooting.

8 min
sshconnection problemtroubleshooting
Network TrafficInbound GbpsOutbound Gbps