RAM & Prozesse überwachen: top, htop & free

Der Server fühlt sich langsam an – aber woran liegt es? Bevor du rätst, wirf einen Blick auf Speicher und Prozesse. In dieser Anleitung zeigen wir dir die drei wichtigsten Werkzeuge, um RAM und Prozesse unter Linux zu überwachen: free, top und das komfortable htop.

Der Server fühlt sich langsam an – aber woran liegt es? Bevor du ins Blaue rätst, wirf einen strukturierten Blick auf Arbeitsspeicher und Prozesse. Die drei wichtigsten Werkzeuge dafür sind free für den schnellen RAM-Überblick, top für laufende Prozesse in Echtzeit und das komfortable htop mit farbiger Oberfläche. In dieser Anleitung lernst du, RAM und Prozesse unter Linux zu überwachen, die oft missverstandenen Speicherwerte richtig zu deuten, Prozesse gezielt zu beenden und die Load Average korrekt einzuordnen – die Basis jeder Performance-Analyse.

free: der schnelle Blick auf den RAM

Wie viel Arbeitsspeicher belegt ist, zeigt free. Mit -h in lesbaren Einheiten:

free -h

Wichtig: Die Spalte „available“ ist entscheidend, nicht „free“. Linux nutzt freien RAM als Cache – das ist gewollt und beschleunigt das System, gibt den Speicher bei Bedarf aber sofort wieder frei.


top: Prozesse in Echtzeit

top ist auf praktisch jedem System vorhanden und zeigt laufende Prozesse, sortiert nach CPU-Last:

top

Oben siehst du die Load Average (Systemlast der letzten 1, 5 und 15 Minuten) sowie die CPU- und Speichernutzung. Mit q beendest du die Ansicht.


htop: der komfortable Nachfolger

Deutlich übersichtlicher ist htop – mit Farben, Balken und Mausbedienung. Es muss meist erst installiert werden:

sudo apt install -y htop
htop

In htop scrollst du durch die Prozessliste, sortierst per Klick und beendest einen Prozess bequem mit F9.


Einen Prozess gezielt beenden

Hängt ein Prozess, findest du seine ID (PID) und beendest ihn. Der Name lässt sich direkt verwenden:

pgrep -a nginx
kill 1234        # per PID
pkill nginx      # per Name

Reagiert ein Prozess gar nicht mehr, erzwingt kill -9 PID das Beenden – als letztes Mittel.


Die Load Average richtig deuten

Eine Load von 1,0 bedeutet, dass ein CPU-Kern voll ausgelastet ist. Bei einem 4-Kern-System ist eine Load bis etwa 4,0 also normal. Liegt sie dauerhaft deutlich darüber, ist das System überlastet. Bei Containern hilft dann, ihre Ressourcen zu begrenzen.


RAM richtig lesen: frei, belegt und Cache

Der häufigste Irrtum bei free -h: „Mein RAM ist fast voll, das ist schlecht!“ In Wahrheit nutzt Linux freien Speicher bewusst als Datei-Cache, um Zugriffe zu beschleunigen. Dieser Cache wird sofort freigegeben, sobald ein Programm den Speicher braucht. Entscheidend ist deshalb nicht die Spalte free, sondern available.

SpalteBedeutung
usedvon Programmen tatsächlich belegt
freevöllig ungenutzt (oft niedrig – das ist normal)
buff/cacheCache, der bei Bedarf freigegeben wird
availablerealistisch verfügbarer Speicher – die wichtigste Zahl

Solange available komfortabel ist, hast du genug Reserven. Kritisch wird es erst, wenn dieser Wert gegen null geht und das System anfängt, auf die Swap-Partition auszulagern – dann bremst der Datenträgerzugriff spürbar.

Prozesse gezielt und sauber beenden

Hängt ein Prozess, willst du ihn beenden – aber möglichst schonend. Mit kill PID schickst du standardmäßig das Signal SIGTERM, eine höfliche Bitte: Der Prozess darf noch aufräumen, Dateien schließen und sich ordentlich verabschieden. Erst wenn das nicht wirkt, kommt der harte Weg.

  • SIGTERM (15): kill PID – bittet den Prozess, sich sauber zu beenden.
  • SIGKILL (9): kill -9 PID – erzwingt das sofortige Ende ohne Aufräumen.
  • Nach Name: pkill name oder killall name beenden alle passenden Prozesse.
  • Reihenfolge: erst SIGTERM versuchen, SIGKILL nur als letztes Mittel.

Der Griff zu kill -9 sollte die Ausnahme bleiben: Ein hart abgeschossener Prozess kann beschädigte Dateien oder verwaiste Sperren hinterlassen. In htop wählst du einen Prozess bequem mit den Pfeiltasten aus und schickst über F9 das gewünschte Signal. Reagiert selbst auf SIGKILL nichts, steckt der Prozess meist in einem sogenannten „uninterruptible sleep“ fest und wartet auf Hardware oder Netzwerk – dann hilft oft nur, die zugrunde liegende Ursache zu beheben.

Weitere Werkzeuge für die Analyse

free, top und htop decken den Alltag ab, doch für tiefergehende Diagnosen lohnt sich ein Blick auf spezialisierte Werkzeuge. Je nachdem, ob CPU, Datenträger oder das Gesamtbild im Fokus stehen, gibt es passendere Helfer.

WerkzeugFokus
vmstatCPU, Speicher und Swap im Zeitverlauf
iotopDatenträger-Last pro Prozess
ps auxeinmalige Momentaufnahme aller Prozesse
glanceskompaktes Gesamt-Dashboard

Erkennst du einen dauerhaft überlasteten Dienst, hilft anschließend ein Blick in die Logs, um die Ursache zu finden – wie das geht, zeigt der Beitrag zum Auswerten von Logs mit journalctl. Ein praktischer Einstieg ist außerdem top selbst: Durch Drücken von P sortierst du nach CPU-Last, mit M nach Speicherverbrauch. So findest du in Sekunden den Prozess, der dein System am stärksten belastet, und entscheidest gezielt über das weitere Vorgehen.

Häufige Fragen

Rund um die Überwachung von Speicher und Prozessen tauchen einige Fragen immer wieder auf. Hier die wichtigsten Antworten.

Warum ist mein RAM fast vollständig belegt?

Das ist meist völlig normal. Linux nutzt ungenutzten Speicher als Cache, um das System zu beschleunigen. Schau nicht auf die Spalte free, sondern auf available: Solange dort genug übrig ist, hast du keine Speichernot. Der Cache wird bei Bedarf automatisch freigegeben.

Was ist der Unterschied zwischen kill und kill -9?

kill PID sendet SIGTERM und bittet den Prozess, sich sauber zu beenden. kill -9 PID sendet SIGKILL und erzwingt das sofortige Ende, ohne dass der Prozess aufräumen kann. Nutze SIGKILL nur, wenn ein Prozess auf die höfliche Aufforderung nicht reagiert.

Welcher Load-Average-Wert ist gut?

Als Faustregel gilt: Der Wert sollte die Anzahl deiner CPU-Kerne nicht dauerhaft übersteigen. Bei vier Kernen ist eine Load um 4 die Volllast-Grenze. Kurzzeitige Spitzen sind unkritisch – erst ein dauerhaft hoher Wert deutet auf eine echte Überlastung hin.


Fazit

Mit free für den RAM, top überall und htop für den Komfort erkennst du Engpässe sofort. Achte beim Speicher auf „available“ und deute die Load im Verhältnis zur Kernzahl. So findest du Ressourcenfresser, statt im Dunkeln zu tappen. Für den Festplattenplatz gilt separat Speicherplatz analysieren.

Siehe auch  Docker: CPU & RAM begrenzen (Ressourcen-Limits)
Nach oben scrollen