Kernel Samepage Merging

virtualization
german

#1

Hallo,

wir betreiben diverse UCS und auch Windows-Maschinen unter UVMM mit KVM. Mich hat daher interessiert, ob man auch hier etwas hinsichtlich der Arbeitsspeicherkonsolidierung tun kann.
Die Lösung heißt Kernel Samepage Merging und ist seit 2.6.32 im Linux-Kernel. Eine etwas ausführlichere Erläuterung ist in Using KSM (Kernel Samepage Merging) with KVM zu finden.
Ich habe festgestellt, dass dieses Feature zwar vorhanden, aber nicht aktiviert ist. Das einzige Notwendige, es einzuschalten, war ein beherztes

echo 1 > /sys/kernel/mm/ksm/run.

Nach einer Weile hatte /sys/kernel/mm/ksm/pages_sharing einen Wert wesentlich größer als Null und “free” zeigte, dass nicht mehr 9, sondern nur noch 7 GB RAM in Benutzung sind.

Hat ggf. jemand das schon mal benutzt und positive oder negative Erfahrungen damit gemacht? Unter Umständen wäre es ja sinnvoll, das Feature per default einzuschalten oder per UCR konfigurierbar zu machen.

Viele Grüße,
Dirk Ahrnke


#2

Hallo,

Danke für die Anregung!

Bisher haben wir hierzu keine Erfahrungen, weshalb eine Aktivierung per default vermutlich mittelfristig auch nicht umgesetzt werden wird.
Bezüglich der Aktivierbarkeit per UCR habe ich einen entsprechenden Feature Request erstellt: [bug]32937[/bug].

Mit freundlichen Grüßen,
Tim Petersen


#3

Proxmox VE macht das u.a. von Haus aus, es kann, muss aber nicht immer viel bringen wenn ich mich dort richtig erinnere.
Es ist auch so, dass dafür CPU cycles auf em Host gebraucht werden, um die den Speicher zu durchsuchen, insofern kommt KSM punkto “Kosten” nicht ganz gratis. :slight_smile: