ESXi e Memory Overhead

di Cameron Cameron, Senior Consultant

Nota: si presume che il pubblico di questo documento comprenda già come VMware gestisce la memoria per tutte le VM in esecuzione su ciascun host ESXi.

Uno dei grandi vantaggi di VMware è la capacità di oversubscribe CPU e risorse di memoria, consentendo il consolidamento dei carichi di lavoro. Quando si virtualizzano sistemi per i nostri clienti, che hanno un ampio ingombro di memoria (es. database), spesso vediamo la memoria fisica esaurita prima di avvicinarci al limite della capacità di calcolo di un host ESXi. Per i carichi di lavoro di livello 1, è consigliabile configurare le prenotazioni di memoria, in particolare negli ambienti in cui questi carichi di lavoro business-critical sono combinati con macchine virtuali di livello inferiore.

Non tutti i VMware shop scelgono di utilizzare le prenotazioni di memoria. A volte, questo può innescare il ballooning della memoria quando determinati eventi, tra cui vMotion, causano l’avvicinamento o la corrispondenza della vRAM fornita alla RAM fisica sull’host ESXi. Quando ciò accade, è probabile che l’host ESXi verifichi un evento di palloncino di memoria e qualsiasi VM non protetta da una prenotazione di memoria potrebbe essere influenzata. Affidarsi a una somma della VRAM fornita e confrontarla con la RAM fisica può tuttavia portare a un falso senso di sicurezza, poiché spesso il sovraccarico di memoria di ciascuna VM non è stato preso in considerazione.

Piuttosto, House of Brick raccomanda che la somma della memoria di tutte le macchine virtuali (memoria della macchina virtuale, sovraccarico di memoria VM e memoria del kernel VM) non superi la memoria fisica dell’host.

Dalla memoria overhead sulle macchine virtuali:

Le macchine virtuali richiedono una certa quantità di memoria overhead disponibile per l’accensione. Dovresti essere consapevole della quantità di questo sovraccarico.

La seguente tabella elenca la quantità di memoria overhead necessaria a una macchina virtuale per l’accensione. Dopo l’esecuzione di una macchina virtuale, la quantità di memoria overhead utilizzata potrebbe differire dalla quantità elencata nella tabella. I valori di esempio sono stati raccolti con VMX swap abilitato e hardware MMU abilitato per la macchina virtuale. (VMX swap è abilitato per impostazione predefinita.)

Nota:
La tabella fornisce un esempio di valori di memoria overhead e non tenta di fornire informazioni su tutte le possibili configurazioni. È possibile configurare una macchina virtuale per avere fino a 64 CPU virtuali, a seconda del numero di CPU con licenza sull’host e del numero di CPU supportate dal sistema operativo guest.

Tabella 1: Memoria overhead di esempio su macchine virtuali

, ESXi e overhead di memoria

Quello che puoi vedere dalla tabella sopra è che, all’aumentare dell’allocazione di memoria a una VM, aumenta anche l’overhead di memoria. Mentre ESXi può in genere recuperare la memoria allocata in eccesso (tramite i meccanismi di gestione della memoria ESXi), l’overhead non può essere recuperato, il che sottolinea la necessità di carichi di lavoro di dimensioni corrette.

Ogni organizzazione deve determinare le proprie politiche relative alle prenotazioni di memoria nel proprio ambiente VMware. Tuttavia, se si eseguono carichi di lavoro di livello 1 con altri carichi di lavoro, si sta eseguendo una compressione della memoria o si sta verificando un ballooning della memoria, tenere presente che esiste un sovraccarico di memoria per ogni VM che potrebbe non essere stato contabilizzato durante la pianificazione.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.