5 SpeicherverwaltungThrashing (Seitenflattern)

Thrashing (Seitenflattern)

Auf einen Blick

Thrashing ist der Zustand, in dem das System fast nur noch mit der Behandlung von Page Faults beschäftigt ist. Die Performance nimmt exponentiell ab. Pages „flattern" zwischen RAM und Auslagerungsbereich hin und her.

Wie es entsteht

Die Vermeidung von Page Faults ist die zentrale Aufgabe der Paging-Algorithmen. Gelingt das nicht mehr und die Fault-Rate wird zu hoch:

  • das System ist nur noch mit der Behandlung von Page Faults beschäftigt,
  • eine Page kann zwischen RAM und Auslagerungsbereich hin und her flattern,
  • die Performance nimmt exponentiell ab.

Gegenmaßnahme

Ziel: Halte für jeden Prozess immer die wichtigen Pages im RAM.

Das ist die Idee des Working Set: die Menge der Pages, die ein Prozess in einem Zeitfenster aktiv braucht. Passt das Working Set nicht in den RAM, beginnt Thrashing. Lösungen:

  • die Anzahl gleichzeitig laufender Prozesse reduzieren (weniger Konkurrenz um Frames),
  • Prozesse temporär auslagern (Swapping ganzer Prozesse),
  • schlicht mehr RAM.
Praxisbezug

Ein System im Thrashing fühlt sich „eingefroren" an: hohe Plattenaktivität, aber kaum Fortschritt. Genau hier rächt sich der riesige Geschwindigkeitsunterschied der Speicherhierarchie.

Verwandte Notes

Paging-Algorithmen · Page Faults · Speicherhierarchie · Virtual Memory

← Kapitelübersicht


⬅️ Paging-Algorithmen

Built with LogoFlowershow