Thrashing (englisch für dreschen, auch Speicherthrash genannt) bezeichnet einen Zustand, in dem ein Betriebssystem mehr Zeit damit verbringt, Speicherseiten zwischen RAM und Festplatte zu verschieben, als mit produktiver Arbeit. Das System läuft noch, aber die Leistung bricht massiv ein.

Wie Thrashing entsteht

Ursache ist fast immer zu wenig physischer Arbeitsspeicher für die Zahl der laufenden Prozesse: Die Summe der Working Sets aller Prozesse übersteigt den verfügbaren RAM. Jeder Seitenfehler zwingt das System, eine andere Seite zu verdrängen – häufig genau die, die gleich wieder gebraucht wird. So entsteht ein Kreislauf aus ständigem Nachladen und Auslagern.

Symptome erkennen

  • Sehr hohe Page-Fault-Rate, obwohl nur wenige Programme laufen.
  • Die CPU-Auslastung sinkt, weil die Prozesse auf Plattenzugriffe warten.
  • Die Festplatte oder SSD arbeitet dauerhaft, das System wirkt eingefroren.
  • Antwortzeiten steigen um Größenordnungen, ohne dass ein einzelner Prozess hängt.

Gegenmaßnahmen

  • Mehr RAM: Die direkte Abhilfe, wenn Working Sets und Hauptspeicher nicht zusammenpassen.
  • Multiprogramming-Grad senken: Prozesse pausieren oder beenden (Load Shedding), bis die Summe der Working Sets wieder passt.
  • Lokale Seitenersetzung: Ein Prozess verdrängt nur eigene Seitenrahmen, statt anderen die Rahmen zu nehmen.
  • Page Clustering: Mehrere zusammenhängende Seiten in einem Zug nachladen, statt einzeln zu arbeiten.

Verwandte Grundlagen: Seitenfehler, Working Set, Demand Paging, Swap.