[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Management nahezu identischer virtueller Maschinen



Am Dienstag, 12. Juni 2012 schrieb Harald Weidner:
> Hallo,
> 
> Martin Steigerwald <Martin@lichtvoll.de>:
> >> RAM sparen kannst du durch Aktivieren von Kernel Samepage Merging.
> >
> >Greift das hier?
> >
> >Meines Wissens springt das nur auf mit madvise speziell ausgewiesenes
> >RAM an. Wie es KVM für das RAM für virtuelle Maschinen halt macht.
> 
> Ich habe gelesen, dass das inzwischen auch mit LXC funktionieren soll.
> Implementiert ist es wohl als Attribut für cgroups; alle Prozesse
> innerhalb der cgroup bekommen per Default mergeable pages. Leider kann
> ich den Artikel, in dem das beschrieben wurde, nicht mehr finden.

Ah, interessant. Wenn Dir das noch einfällt, schreib nochmal. Vielleicht 
stoße ich auch selbst mal drauf.

> >Hier aber laufen die Prozesse einfach so und zumindest mit zwei KDE-
> >Sitzungen hat mir KSM bislang rein gar nichts gebracht.
> 
> Wenn mehrere Instanzen des selben Binaries laufen (aus dem selben
> File gestartet, d.h. selbe Device Id und selbe Inode number), dann
> brauchen sie für das code segment ohnehin nur einmal Speicher. Das
> ist bei deinen zwei KDE Sessions vermutlich der Fall.

Ah. Okay. Trotzdem brauchen zwei KDE-Sitzungen mehr Speicher. Nun, es gibt 
ja auch Datensegmente.
 
> Bei Container-Setups wie LXC oder Linux-VServer hat man aber häufig
> eigene Kopien des root-Filesystems für jeden Container. Die Binaries
> sind dann zwar die gleichen, aber nicht mehr die selben, weil sie in
> verschiedenen Files liegen (unterschiedliche Device-Id und/oder Inode
> number). Ohne KSM weiss der Kernel nicht, dass er sie mergen könnte.

Ja, okay. Das sind oft unterschiedliche Dateien mit gleichem Inhalt. D.h. 
5x der Befehl ls. Wobei hier Hardlinks oder cp --reflink durchaus 
interessant wäre. Oder Snapshots.

Danke für die interessanten, erklärenden Hinweise.

Ciao,
-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7


Reply to: