# Server laggt – CPU, RAM & Disk sofort prüfen

Root Server oder VPS laggt? Ursachen finden und Performance wiederherstellen – NexoraHost Docs.

Dein Server reagiert langsam, Verbindungen hängen oder Dienste sind träge? Diese Anleitung hilft dir, die Ursache systematisch zu finden und zu beheben. Wir gehen Schritt für Schritt von den häufigsten zu den spezielleren Ursachen.

**Hinweis:** Detaillierte Unterseiten zu Monitoring und Optimierung findest du in der linken Navigation.

## 1. Aktuelle Auslastung prüfen

Der erste Blick sollte immer der aktuellen Server-Auslastung gelten. Verbinde dich per SSH und führe folgende Befehle aus:

### htop – die wichtigste Anlaufstelle

`htop`
Hier siehst du CPU- und RAM-Nutzung in Echtzeit. Anders als das einfachere `top` zeigt htop farbige Balken und lässt sich mit der Maus bedienen. Achte auf:

    - **CPU-Auslastung:** Die oberen Balken zeigen die Auslastung pro Kern. Liegt ein Kern dauerhaft bei 100% und die anderen sind fast leer, hast du ein Single-Thread-Problem – typisch für Gameserver wie Minecraft oder Arma 3. Sind alle Kerne gleichmäßig ausgelastet, läuft ein multi-threaded Prozess wie ein Webserver oder eine Datenbank am Limit
- **RAM:** Der farbige Balken oben zeigt die Speichernutzung. Grün = verwendet, Blau = Puffer, Gelb = Cache. Erst wenn der grüne Bereich an den rechten Rand stößt und Swap aktiv wird, hast du ein RAM-Problem
- **Load Average:** Die drei Zahlen oben rechts (z.B. 2.15 1.89 1.45) zeigen die durchschnittliche Last der letzten 1, 5 und 15 Minuten. Liegt der 1-Minuten-Wert höher als deine Kernanzahl, ist der Server überlastet. Liegt er weit darunter, ist die aktuelle Last nicht das Problem
- **Swap:** Wird Swap verwendet (zu sehen im oberen Bereich), fehlt RAM. Gelegentlicher Swap-Einsatz ist normal, dauerhafte Swap-Nutzung bremst den Server massiv aus

### Prozesse sortieren und analysieren

In htop drückst du F6 und wählst PERCENT_CPU oder PERCENT_MEM zum Sortieren. Die obersten Prozesse sind die Verursacher. Häufige Übeltäter:

    - **mysqld / mariadbd:** Eine einzelne Datenbank-Abfrage blockiert alles
- **php-fpm:** Ein defektes PHP-Script läuft in einer Endlosschleife
- **java:** Minecraft oder andere Java-Anwendungen mit zu wenig RAM
- **fail2ban:** Verarbeitet tausende Logeinträge gleichzeitig

## 2. Speicherplatz prüfen

Eine volle oder fast volle Festplatte kann den Server extrem verlangsamen. Prüfe mit:

`df -h`
Die Ausgabe zeigt alle Partitionen mit Größe, verwendetem und freiem Speicherplatz. Achte besonders auf:

    - **/ (Root-Partition):** Ist sie zu 90% oder mehr voll, wird es kritisch. Das System braucht Platz für temporäre Dateien und Logs
- **/var:** Hier liegen Logs, Datenbanken und Mail-Spooler. Diese Partition läuft oft als erste voll
- **/tmp:** Temporäre Dateien. Ein voller /tmp-Ordner kann dazu führen, dass Sessions nicht mehr gespeichert werden

### Speicherfresser finden

`du -sh /* 2>/dev/null | sort -rh | head -10`
Zeigt die 10 größten Ordner im Root-Verzeichnis. Meist sind es:

    - **/var/log:** Alte Logdateien, die nie rotiert wurden
- **/home:** Benutzerdaten, alte Backups
- **/var/lib/docker:** Docker-Images und Container-Daten
- **/var/www:** Websites mit vielen Medien-Uploads

### Schnell aufräumen

`# Alte Logs löschen (älter als 30 Tage)
find /var/log -type f -name "*.log" -mtime +30 -delete

# Journald-Logs auf 500 MB begrenzen
journalctl --vacuum-size=500M

# Docker aufräumen (ungennutzte Images, Container, Volumes)
docker system prune -af

# apt-Cache leeren (Debian/Ubuntu)
apt clean`

## 3. Hohe CPU-Last – die häufigsten Ursachen

### Ein einzelner Prozess als Verursacher

Mit `htop` sortierst du nach CPU-Nutzung. Steht ein Prozess weit oben mit 80-100%, ist das der Übeltäter. Häufige Szenarien:

    - **MySQL/MariaDB:** Öffne die MySQL-Konsole und gib `SHOW FULL PROCESSLIST;` ein. Du siehst alle laufenden Abfragen. Abfragen mit Zeit > 10 Sekunden sind verdächtig. Mit `EXPLAIN SELECT ...` kannst du sie analysieren
- **PHP-FPM:** Ein defektes Script kann eine Endlosschleife verursachen. Prüfe die PHP-FPM-Logs unter `/var/log/php*-fpm.log` oder im Webserver-Error-Log
- **Webserver:** Zu viele gleichzeitige Verbindungen. Prüfe mit `ss -tan state established | wc -l` die Anzahl aktiver Verbindungen

### Viele kleine Prozesse

Drück in htop Shift+H um Threads auszublenden und nur Hauptprozesse zu sehen. Sind es hunderte ähnliche Prozesse (z.B. php-fpm Worker), liegt die Ursache oft in der Konfiguration. Reduziere die Anzahl der Worker in der jeweiligen Konfigurationsdatei.

### Cronjobs als heimliche Bremsen

`# Alle Cronjobs aller Benutzer anzeigen
for user in $(cut -f1 -d: /etc/passwd); do echo "=== $user ==="; crontab -u $user -l 2>/dev/null; done`
Prüfe ob mehrere Cronjobs zur gleichen Minute starten und sich gegenseitig blockieren. Verteile sie zeitlich mit Minuten-Abständen.

## 4. Hohe RAM-Nutzung – was tun?

### RAM-Verbraucher identifizieren

`# Top 10 Prozesse nach RAM sortiert
ps aux --sort=-%mem | head -11`

### Cache vs. echte Nutzung verstehen

Linux nutzt freien RAM als Disk-Cache. Das ist normal und erwünscht. Erst wenn der "available"-Wert in `free -h` gegen Null geht, hast du ein echtes RAM-Problem. Beispiel:

`$ free -h
              total        used        free      shared  buff/cache   available
Mem:           15Gi       8,2Gi       1,3Gi       234Mi       6,1Gi       6,8Gi`
Hier sind 6,8 GB verfügbar – obwohl "used" 8,2 GB zeigt. Der Server hat kein RAM-Problem.

### Swap-Nutzung analysieren

Wird Swap verwendet, fehlt RAM:

`# Swap-Nutzung in Echtzeit sehen
watch -n 1 free -h

# Welcher Prozess nutzt wie viel Swap?
for file in /proc/*/status ; do
    awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file
done | grep -v " 0 kB" | sort -k 2 -n -r | head -10`

### RAM freigeben (falls nötig)

`# Caches leeren (nur temporär – füllen sich wieder auf)
sync && echo 3 > /proc/sys/vm/drop_caches`
**Wichtig:** Das ist nur eine Notlösung. Die Caches helfen dem System, schneller zu sein. Langfristig brauchst du mehr RAM.

## 5. I/O-Wait – wenn die Festplatte bremst

Zeigt `htop` hohe Werte unter "wa" (I/O-Wait), wartet die CPU auf die Festplatte. Installiere `iotop` für die Analyse:

`iotop -o`
Zeigt nur Prozesse, die tatsächlich I/O verursachen. Häufige Ursachen:

    - **Backup läuft gerade:** rsync, tar oder mysqldump schreiben große Datenmengen
- **Datenbank-Schreibvorgänge:** Viele INSERT/UPDATE-Befehle gleichzeitig
- **Defekte Festplatte:** Prüfen mit `smartctl -a /dev/sda`
- **Kein SSD-Speicher:** HDDs haben hohe Zugriffszeiten. Ein Upgrade auf NVMe SSD bringt oft Faktor 10+ Verbesserung

## 6. Netzwerk-Probleme erkennen

### Latenz und Paketverlust

`ping -c 100 google.com`
Am Ende siehst du die Statistik. Paketverlust über 1% oder schwankende Latenzen deuten auf Netzwerkprobleme hin.

### Netzwerkpfad analysieren mit mtr

`mtr google.com`
mtr kombiniert ping und traceroute in Echtzeit. Du siehst jeden Hop zwischen dir und dem Ziel mit Latenz und Paketverlust. Ein einzelner Hop mit hohem Verlust ist oft das Problem.

### Bandbreiten-Nutzung in Echtzeit

`iftop -i eth0`
Zeigt welche Verbindungen wie viel Bandbreite nutzen. Nützlich um zu sehen ob ein einzelner Client den Server flutet.

## 7. DDoS-Angriff als Ursache?

### Verdächtige Verbindungen erkennen

`# Top 20 IPs nach Anzahl Verbindungen
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head -20`
Viele Verbindungen von einer einzigen IP (besonders auf einem einzelnen Port) sind ein starkes Indiz für einen Angriff.

### SYN-Flood erkennen

`netstat -ant | grep SYN_RECV | wc -l`
Hunderte oder tausende SYN_RECV-Verbindungen deuten auf einen SYN-Flood-Angriff hin. Bei NexoraHost greift in diesem Fall automatisch der Arbor-DDoS-Schutz – du musst nichts tun.

## 8. V-Server spezifisch: Überbuchung spürbar?

Bei V-Servern teilst du dir den Host mit anderen Nutzern. Deren Last kann deine Performance beeinflussen. Anzeichen:

    - Performance schwankt stark ohne erkennbaren eigenen Verursacher
- Zu bestimmten Tageszeiten regelmäßig langsamer
- CPU-"Steal"-Wert in htop oder top: Zeigt an, wie viel CPU-Zeit der Hypervisor anderen Servern zuweist. Dauerhaft über 5-10% ist problematisch

Lösung: Upgrade auf einen Rootserver mit dedizierten Ressourcen. Da gehört die gesamte Hardware-Leistung nur dir.

## 9. Dauerhafte Performance-Überwachung einrichten

Damit du Probleme frühzeitig erkennst:

`# Netdata installieren (leichtgewichtiges Monitoring)
bash 
Netdata läuft auf Port 19999 und zeigt detaillierte Graphen zu CPU, RAM, I/O, Netzwerk und vielem mehr. Ideal um Muster über Tage und Wochen zu erkennen.

## 10. Schnell-Checkliste von oben nach unten

    - **htop:** CPU, RAM, Load Average, Swap prüfen
- **df -h:** Speicherplatz kontrollieren, ggf. aufräumen
- **MySQL SHOW FULL PROCESSLIST:** Langsame Queries identifizieren
- **iotop:** Festplatten-I/O analysieren
- **mtr:** Netzwerkpfad testen
- **netstat:** Verdächtige Verbindungen prüfen
- **Cronjobs:** Zeitliche Überschneidungen finden
- **Nicht genutzte Dienste:** Stoppen und deaktivieren
- **Logs:** Alte Logs löschen, Rotation einrichten
- **V-Server:** CPU-Steal prüfen, ggf. auf Rootserver upgraden

*Ausführliche Anleitungen zu jedem Punkt findest du in den Artikeln der linken Navigation. Bei anhaltenden Problemen kontaktiere unseren Support über das Kundenpanel.*

Siehe auch: [Server-Monitoring](/de/root-v-server/monitoring) · [Root Server tunen](/de/root-v-server/root-server-optimal-konfigurieren) · [Pterodactyl optimieren](/de/server-panels/pterodactyl/optimize) · [Gameserver Hub](/de/gameserver)
