- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Accademico per accademico... una breve spiegazione di quando vsphere usa lo swap.
L'hypervisor usa lo swap della memoria solo come ultima risorsa in caso la memoria libera dell'host scenda sotto il 2% (e dopo aver applicato tutte gli altri metodi per reclamare la memoria, ossia il transparent page sharing e il ballooning).
L’uso dello swap da parte dell’hypervisor è “l’ultima spiaggia” in caso di necessità di recupero di memoria perche' e' il meccanismo che penalizza di più le performance delle VM sia perché’ il disco è più lento della memoria, sia perché può interagire in modo negativo con i meccanismi di gestione della memoria dei sistemi operativi guest delle VM:l’hypervisor non ha conoscenza di quali pagine siano da swappare e quali no (a livello di sistema operativo guest) e può quindi inficiare le politiche di gestione della memoria del sistema operativo guest. Inoltre quando una pagina viene riportata in memoria dallo swap dell’hypervisor, la VM resta bloccata fino al completo caricamento dal disco.
Anche il sistema operativo guest usa lo swap file quando è in ristrettezze di ram ma conoscendo quale uso e' effettivamente fatto delle sue pagine di memoria, puo' scegliere in modo migliore quali pagine swappare e quali no, per cui questo swap risulta piu' efficiente in termine di penalizzazione dei processi attivi.
E' questo il motivo per cui l'hypervisor usa il meccanismo di ballooning, che di fatto forza una paginazione a livello di sistema operativo guest, prima del meccanismo di swap: un modo tipico per un OS per decidere cosa swappare ad esempio è quello di swappare prima le pagine di memoria non usate da piu' tempo quindi che hanno meno probabilita' di essere usate, mentre lo swap dell'hypervisor deve per forza procedere "come uno schiacciasassi".
Quindi, a parte la risposta "meglio non swappare" io considero piu' efficiente lo swap a livello di guest che a livello di hypervisor.
Se vuoi approfondire come funziona la gestione della memoria in vsphere ti rimando a tre miei post in cui lo illustro per esteso (si, autopromozione
)
- http://virtualbyte.wordpress.com/2010/11/08/la-gestione-della-memoria-in-vmware-esx-4-1-parte-1/
- http://virtualbyte.wordpress.com/2010/11/16/la-gestione-della-memoria-in-vmware-esx-4-1parte-2/
- http://virtualbyte.wordpress.com/2010/11/28/la-gestione-della-memoria-in-vmware-esx-4-1-parte-3/
Giuseppe
@gguglie
http://virtualbyte.wordpress.com