Linux Speicherfresser finden: So findest du Prozesse, die RAM und Swap ziehen
Wenn dein Linux-System langsam wird, ist oft nicht das System das Problem, sondern ein Prozess, der sich heimlich an deinen Speicher hängt. Ich zeige dir, wie ich Linux Speicherfresser finde, bevor der Server kippt oder der Desktop zäh wird.
Linux Speicherfresser finden: So gehe ich vor
Wenn ich Linux Speicherfresser finden will, starte ich nicht mit Rätselraten. Ich prüfe erst, was wirklich RAM frisst, dann wie stark der Swap belastet ist und erst danach suche ich den Auslöser. Genau so vermeidest du Zeitverlust.
Das Problem ist oft nicht ein einzelnes Monster. Es sind mehrere kleine Prozesse, Cache-Verhalten oder ein Dienst, der nach einem Update eskaliert. Die gute Nachricht: Du kannst das schnell eingrenzen.
Linux Speicherfresser finden: Die erste schnelle Prüfung
Ich beginne immer mit dem Gesamtbild. Dafür reichen ein paar Befehle:
free -h
htop
free -h zeigt dir, wie viel RAM, Swap und Puffer gerade genutzt werden. Wichtig: Auf Linux ist „benutzt“ nicht immer schlecht. Der Cache wird bewusst genutzt. Entscheidend ist, ob noch genug frei verfügbarer Speicher da ist.
htop ist mein Favorit, weil ich Prozesse direkt nach RAM sortieren kann. Falls htop nicht installiert ist, nutze:
top
Dann nach RES oder %MEM sortieren. Genau dort sitzen oft die Speicherfresser.
Linux Speicherfresser finden: Diese Zahlen zählen wirklich
Wenn ich einen Prozess bewerte, schaue ich nicht nur auf VIRT. Das ist oft irreführend. Wichtiger sind:
- RES: tatsächlicher RAM-Verbrauch
- %MEM: Anteil am Gesamtspeicher
- Swap-Nutzung: Zeichen für Druck auf den Speicher
- Trend: wächst der Verbrauch über Zeit?
Ein einzelner hoher Wert ist nicht immer ein Problem. Ein Prozess, der ständig wächst, ist das echte Warnsignal.
Linux Speicherfresser finden: Prozesse gezielt auflisten
Ich nutze gern diese Befehle, wenn ich den Verursacher schnell sehen will:
ps aux --sort=-%mem | head -20
Das listet die größten RAM-Verbraucher oben. Wenn du mehr Details willst, nimm:
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head -20
So siehst du direkt PID, Parent-Prozess und Befehl. Das ist Gold wert, wenn ein Dienst von einem anderen gestartet wurde.
Linux Speicherfresser finden: Swap ist der rote Alarm
Swap ist nicht per se schlecht. Aber wenn er stark genutzt wird, wird das System träge. Dann prüfe ich sofort:
swapon --show
vmstat 1
vmstat zeigt, ob gerade viel geswapt wird. Wenn die Werte bei si und so regelmäßig steigen, hast du echten Speicherdruck. Dann reicht es nicht, nur den größten Prozess zu kennen. Du musst verstehen, warum der Speicher knapp wird.
Linux Speicherfresser finden: Häufige Ursachen
In der Praxis sehe ich immer wieder dieselben Muster:
- Webserver mit zu vielen Worker-Prozessen
- Datenbanken mit zu hohem Buffer- oder Cache-Limit
- Browser oder Electron-Apps auf Desktop-Systemen
- Container, die kein sauberes Memory-Limit haben
- Leaks in Anwendungen nach einem Update
Wenn ein Prozess nach und nach wächst, denke ich zuerst an ein Memory Leak. Wenn der Speicher direkt nach Lastspitzen hochgeht, ist oft ein zu aggressives Caching oder zu viele parallele Tasks das Problem.
Linux Speicherfresser finden: So prüfe ich einzelne Prozesse
Wenn ich einen verdächtigen Prozess habe, gehe ich tiefer. Dafür nutze ich:
cat /proc/<PID>/status
Dort findest du Details wie VmRSS, VmSize und weitere Werte. Für mehr Analyse kann helfen:
pmap -x <PID> | tail -n 20
Das zeigt, wie der Speicher eines Prozesses verteilt ist. Nützlich, wenn du sehen willst, ob ein bestimmter Bereich auffällig viel frisst.
Wenn du den Verursacher über längere Zeit beobachten willst, nutze:
watch -n 2 "ps -eo pid,cmd,%mem --sort=-%mem | head -10"
So erkennst du Wachstum statt nur Momentaufnahmen.
Linux Speicherfresser finden: Mein schneller Workflow
Wenn ein System langsam wird, arbeite ich in dieser Reihenfolge:
- Gesamtspeicher prüfen mit
free -h - Top-Prozesse finden mit
htopoderps - Swap prüfen mit
swapon --showundvmstat 1 - Verdächtigen Prozess analysieren über
/proc/<PID>/status - Wachstum beobachten statt nur Momentwerte zu bewerten
Das spart Zeit, weil du nicht blind Dinge neu startest. Du isolierst das Problem zuerst.
Linux Speicherfresser finden: Was ich danach tue
Den Prozess zu finden ist nur der halbe Job. Danach entscheide ich, was sinnvoll ist:
- Prozess neu starten, wenn es ein temporärer Hänger ist
- Konfiguration anpassen, wenn Limits zu hoch sind
- Update prüfen, wenn ein Fehler nach einer neuen Version auftrat
- Container-Limits setzen, wenn Workloads aus dem Ruder laufen
- Monitoring aufbauen, wenn das Problem wiederkommt
Wenn du nur neu startest, verlierst du Zeit. Wenn du den Grund findest, löst du das Problem dauerhaft.
Linux Speicherfresser finden: Praktische Tools, die ich empfehle
Für saubere Systemarbeit helfen diese Ressourcen:
Damit arbeitest du auf einer soliden Basis, statt nur nach Bauchgefühl zu handeln.
Linux Speicherfresser finden: Die einfache Regel
Ich merke mir nur eines: Wenn RAM knapp wird, suche ich nicht den lautesten Prozess, sondern den, der wächst. Genau dort liegt meist der Hebel.
Mit free -h, htop, ps, vmstat und /proc findest du Speicherfresser schnell und sauber. Dann kannst du reagieren, bevor das System leidet.
Wenn ich Linux Speicherfresser finden will, gehe ich genau so vor: erst messen, dann verstehen, dann handeln.