KSM – Kernel Samepage Merging (memory deduplication)

Im Linux Kernel 2.6.32 wurde ein interessantes Feature mit dem Namen Kernel Samepage Merging (memory deduplication) freigegeben.
Kernel Samepage Merging, kurz KSM (in der Vergangenheit auch als Kernel Shared Memory bekannt) ist eine Implementierung um Speicherinhalt mit den selben Inhalt zu finden und zu zusammenzuführen.
Modere Betriebssysteme nutzen intensiv Shared Memory, für Share Libraries usw. Die Virtualiserung, wie KVM, kann davon nicht profitieren. Jedes Gast-System hat den gleichen Kernel und die gleichen Bibliotheken, so sind viele Hauptspeicherseiten identisch. KSM ermöglicht es der Virtualisierung, daß  mehrere Gast-Systeme sich gleiche Hauptspeicherseiten gemeinsam teilen. KSM ist als Kernel-Daemon geschrieben, der periodisch den Speicher nach identischen Hauptspeicherseiten durchsucht und diese durch eine schreibgeschützte einzige Speicherseite ersetzt.
Wird diese Seite automatisch wieder aufgeteilt, wenn ein Update auf die Speicherseite erfolgt. Die Speicherbereiche, die KSM nach Kandidaten durchsucht werden, sind durch Userspace Applikationen, die madvice(2) benutzen,  definiert.
Laut RedHat ist es mit KVM und KSM möglich, auf einem Host mit 16 GB RAM, 52 Windows XP Gastsysteme mit 1 GB RAM lauf zu lassen.
KSM ist für KVM ursprünglich entwickelt worden, kann aber mit jedem anderen Virtualisierungssystem zusammenarbeiten.
Der KSM Damon wird über das sysfs-Dateisystem verwaltet, der Pfad ist /sys/kernel/mm/ksm/.
Mehr Informationen finden sie in der Dokumentation unter kernel.org.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.