La gestione della memoria di VMware sembra essere un atto di bilanciamento complicato. Con RAM cluster, pool di risorse, tecniche di gestione di VMware (TPS, ballooning, scambio di host), utilizzo della RAM in-guest, swap, prenotazioni, condivisioni e limiti, ci sono molte variabili.
Sono in una situazione in cui i clienti utilizzano risorse cluster vSphere dedicate. Tuttavia, stanno configurando le macchine virtuali come se fossero su hardware fisico. A sua volta, ciò significa che una build VM standard può avere 4 vCPU e 16 GB o più di RAM. Vengo dalla scuola di avvio di piccole dimensioni (1 vCPU, RAM minima), controllo dell'utilizzo nel mondo reale e adattamento, se necessario. Sfortunatamente, molti requisiti del fornitore e persone che non hanno familiarità con la virtualizzazione richiedono più risorse del necessario ... Sono interessato a quantificare l'impatto di questa decisione.
Alcuni esempi da un cluster "problematico".
Riepilogo pool di risorse: sembra quasi 4: 1 sovraccarico. Nota l'elevata quantità di RAM con palloncini.
Allocazione delle risorse - La colonna Allocazione caso peggiore mostra che queste macchine virtuali avrebbero accesso a meno del 50% della RAM configurata in condizioni vincolate.
Il grafico di utilizzo della memoria in tempo reale della VM principale nell'elenco sopra. 4 vCPU e 64 GB di RAM allocati. Ha una media di utilizzo inferiore a 9 GB.
Riepilogo della stessa macchina virtuale
Quali sono gli svantaggi del sovraccarico e della configurazione eccessiva delle risorse (in particolare RAM) negli ambienti vSphere?
Supponendo che le VM possano funzionare con meno RAM, è corretto affermare che esiste un sovraccarico per la configurazione di macchine virtuali con più RAM di quanto effettivamente necessario?
Qual è il contro-argomento a: "se una VM ha allocato 16 GB di RAM, ma utilizza solo 4 GB, qual è il problema ?? "? Ad esempio, i clienti devono essere informati che le macchine virtuali non sono le stesse dell'hardware fisico?
Quali metriche specifiche devono essere utilizzate per misurare l'utilizzo della RAM. Tieni traccia dei picchi di "Attivo" rispetto al tempo? Stai guardando "Consumato"?
Aggiornamento: ho usato vCenter Operations Manager per creare un profilo di questo ambiente e ottenere alcuni dettagli sulle statistiche del cluster sopra elencate. Mentre le cose sono decisamente sovraccaricate, le VM sono in realtà così sovraconfigurate con RAM non necessaria che il footprint di memoria reale (minuscolo) non mostra alcuna contesa di memoria a livello di cluster / host ...
La mia cosa da asporto è che le macchine virtuali dovrebbero avere le dimensioni giuste con un po 'di buffer per la memorizzazione nella cache a livello di sistema operativo. Commettere per ignoranza o "requisiti" del fornitore porta alla situazione qui presentata. Il ballooning della memoria sembra essere negativo in ogni caso, poiché ha un impatto sulle prestazioni, quindi il dimensionamento corretto può aiutare a prevenire questo.
Aggiornamento 2: alcune di queste macchine virtuali iniziano a bloccarsi con:
kernel:BUG: soft lockup - CPU#1 stuck for 71s!
VMware lo descrive come un sintomo di un sovraccarico eccessivo di memoria . Quindi suppongo che risponda alla domanda.
Rapporto "Macchine virtuali di grandi dimensioni" di vCops ...
Grafico "Rifiuti rigenerabili" di vCops ...