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

Re: KVM - RAM Cache begrenzen & KSM



Am Dienstag, den 14.06.2011, 17:14 +0200 schrieb David Raab:
> Hallo, dir auch nochmal danke.
> 
> > Der Cache geht nicht verloren. Wenn die Anwendungen mehr Speicher brauchen,
> > entscheidet der Kernel, ob entweder Anwendungsteile ausgeswappt oder der
> > Cache stückweise freigegeben werden soll.
> Ja, das ist korrekt wenn du ein System hast das nicht virtualisiert
> läuft. Aber wenn du ein Virtualisierten gast unter KVM hast, hast du zum
> Beispiel 4 Gigabyte, und diese 4 Gigabyte können beliebig auf dem Host
> im RAM oder im Swap liegen.
> 
> Weiterhin kann der Host hier nichts frei machen. Den der Host sieht
> einfach nur ein prozess der 4 Gigabyte Speicher benötigt.
> 
> Die VM selber kann zwar ebenfalls den cache wieder für andere sachen
> nutzen, nur kann der Speicher auf dem Host ja beliebig im RAM/SWAP
> liegen. Davon erfährt die VM ja nichts.
> 
> Wenn man nun viele Gäste hat die cachen, vorallem so viel cachen, ist
> halt die chance umso höher das der ganze RAM des Hostsystem vom cache
> der gäste befüllt wird.
> 
> > Eine statische Begrenzung des Caches ist meines Wissens nicht möglich.
> > Aber mit einer niedrigen Swappiness erreichst du den gewünschten Effekt.
> 
> Meine Gäste haben gar kein Swap, und mein Host System sieht einfach nur
> ein Prozess der zum Beispiel 4 Gigabyte Speicher benötigt. Ich sehe
> jetzt nicht inwiefern das den Cache verbrauch des Gastes reduzieren soll.

Hab auf diesem Thema eigendlich nicht soviel Ahnung, aber es
interessiert mich auch.
Ich habe auf einen Host (PentiumIII 800MHz, 512MB RAM) mein
MythTV-Backend laufen (2x DVB-S, 1x DVB-T). Der Host hatte bis vor
kurzem eine Swap-Partition. MythTV zickte nach einigen Tagen Betrieb
immer rum.
Da ich vermutete, daß wichtige (zeitkritische) Teile im Swap liegen,
habe ich vor Wochen die Swap-Partition in der /etc/fstab auskommentiert.
Leider kann der Chipsatz auf dem alten Motherboard nicht mit mehr als
512MB RAM umgehen.

Deine eMail brachte mich dazu mal nachzusehen wie es mit dem Speicher
aussieht.

# free
             total       used       free     shared    buffers     cached
Mem:        513484     503288      10196          0       2100     228744
-/+ buffers/cache:     272444     241040
Swap:            0          0          0

Fast die Hälfte ist mit Cache belegt.
Genauso wie du dachte ich, daß der Cache doch steuerbar sein müsste und
fand:

sysctl -a | grep cache
vm.drop_caches = 0
vm.vfs_cache_pressure = 100
fs.quota.cache_hits = 0
fs.nfs.idmap_cache_timeout = 600
net.ipv4.rt_cache_rebuild_count = 4

Eine Suche im Netz nach vm.drop_caches brachte:
http://www.linuxinsight.com/proc_sys_vm_drop_caches.html

Versuch das mal in deinen Gästen einzustellen vieleicht frisst dann der
Cache nicht mehr den RAM auf.

-- 
mfG Sascha

Nouvelle Cuisine heißt gewöhnlich: Zuwenig auf dem Teller und zuviel
auf der Rechnung.
		-- Paul Bocuse


Reply to: