Memory Paging (Speicherauslagerung)
Memory Paging ist eine Speicher-Management-Technik, die steuert, wie ein Computer oder eine virtuelle Maschine (VM) Speicherressourcen verteilt.
Ein Computer kann über den physisch installierten Speicher hinaus Ressourcen ansprechen. Dieser nicht-physische oder virtuelle Speicher ist ein Bereich auf der Festplatte, der Arbeitsspeicher nachahmt. Das Konzept von virtuellem Speicher stammt noch aus einer Zeit, als installierter Arbeitsspeicher extrem teuer war. Der Teil auf einer Festplatte, der den physischen Speicher (RAM) nachahmt, wird als Auslagerungs- oder Page-Datei bezeichnet.
Wenn der RAM eines Computers überlastet ist, lagert das Betriebssystem einzelne Bereiche auf die Festplatte aus, um den Arbeitsspeicher für andere Prozesse zu befreien. Das soll sicherstellen, dass ein Betriebssystem genügend Arbeitsspeicher zur Verfügung hat und ein Absturz verhindert wird. Vertraut man allerdings zu stark auf Memory Paging, kann das die Leistung eines Systems beeinträchtigen, da Arbeitsspeicher deutlich schneller als Festplattenspeicher funktioniert. Das System muss in diesem Fall bei der Auslagerung auf die Festplatte warten. Je mehr ein Systems von diesen sogenannte Swap-Dateien (Austausch- oder Auslagerungsdateien) abhängig ist, desto mehr wird die Leistung beeinträchtigt.
In einer virtuelle Umgebung verwaltet der Hypervisor den physischen Speicher. Der Grund dafür ist, dass ein Gast-Betriebssystem nicht die Virtualisierungsschichten kennt. Es geht davon aus, dass es die gesamte Hardware für sich zur Verfügung hat.
Speicherauslagerung oder Memory Paging in einer virtuellen Umgebung umfasst folgende Arten:
- Smart Paging wird während des Neustarts einer VM verwendet, wenn kein Speicher zur Verfügung steht oder angefordert werden kann.
- Hypervisor-Swapping bietet eine langfristige Unterstützung für Speicherauslagerung. Da Hypervisor in der Regel keinen Einblick in den Speicher einer VM haben, werden die ausgelagerten Daten aber nach einer bestimmten Zeit wieder zurückgetauscht. Das beeinflusst wiederum die Leistung.
- Memory Ballooning zwingt das Gast-Betriebssystem zu entscheiden, welcher verwendete Speicher unwichtig ist und auf die Festplatte ausgelagert werden kann.