Panoramica completa delle procedure consigliate relative alla memoria dinamica Hyper-V
Hyper-V Dynamic Memory è stato introdotto per la prima volta in Windows Server 2008 R2 con SP1. Prima del suo rilascio, una VM Hyper-V (VM) si avviava e funzionava con tutta la RAM assegnata, il che comportava un uso eccessivo della memoria e influiva sulle prestazioni complessive della VM. Inoltre, la quantità di memoria VM disponibile poteva essere modificata solo quando la VM era spenta. Pertanto, era ragionevole sostituire l’allocazione statica della memoria con l’allocazione dinamica della memoria e introdurre la funzione Hyper-V Dynamic Memory.
Che cos’è Hyper-V Dynamic Memory?
La memoria dinamica Hyper-V è una funzione che consente di allocare dinamicamente le risorse di memoria alle VM in esecuzione in ambienti Hyper-V. Questa funzione recupera una parte della memoria inutilizzata dalle VM che non ne hanno bisogno in quel particolare momento e la riassegna ad altre VM che ne hanno effettivamente bisogno.
Con la memoria dinamica Hyper-V, è possibile specificare la quantità di memoria di avvio che la VM può utilizzare, impostare l’intervallo di memoria fisica disponibile per una VM specifica e determinare la priorità della VM per l’allocazione della memoria. La memoria fisica può essere assegnata in modo efficiente e dinamico alla VM in base alle necessità e con un impatto minimo sulle prestazioni. Di conseguenza, si ha un controllo più granulare sull’utilizzo della memoria e una migliore ottimizzazione delle risorse.
Vantaggi e svantaggi della memoria dinamica Hyper-V
La memoria dinamica Hyper-V è una funzione utile che offre molti vantaggi, tra cui:
- Riduzione del consumo di memoria, poiché la VM utilizza solo la quantità di memoria effettivamente necessaria entro i limiti impostati dall’amministratore
- Distribuzione efficiente della memoria, poiché è possibile assegnare dinamicamente più o meno memoria alla VM in esecuzione
- Numeri di consolidamento più elevati grazie a un uso più efficiente delle risorse di memoria
- Maggiore affidabilità per le operazioni di riavvio con l’aiuto di Hyper-V Smart Paging
- Efficienza in termini di costi, poiché le risorse della VM non vengono sprecate
Tuttavia, Hyper-V Dynamic Memory presenta anche una serie di svantaggi che possono influire negativamente sulle prestazioni della memoria della VM. Tra questi figurano:
- Rischio di sovradimensionamento della memoria fisica del computer nel caso in cui non si tenga traccia dell’allocazione della memoria all’interno dell’ambiente virtuale
- Alcune impostazioni della memoria non possono essere modificate quando la VM è in esecuzione. Pertanto, non è possibile ridurre o aumentare la quantità massima e minima di memoria, né modificare la quantità di memoria di avvio della VM, quando la VM è ancora in esecuzione o in pausa.
- Quando Hyper-V Dynamic Memory è abilitato, potrebbero verificarsi problemi con le applicazioni di database. Si consiglia di utilizzare applicazioni compatibili con Hyper-V Dynamic Memory per evitare problemi di prestazioni.
Impostazioni della memoria dinamica Hyper-V
La memoria dinamica Hyper-V include cinque impostazioni VM che possono essere configurate in Hyper-V Manager. A tal fine, apri Hyper-V Manager, seleziona la VM richiesta, fai clic su Impostazionie scegli Memoria. Verrà visualizzato quanto segue:

Tuttavia, prima di iniziare a configurare le impostazioni della memoria dinamica Hyper-V, è consigliabile acquisire familiarità con il funzionamento di questi componenti e i vantaggi che possono offrire. Diamo un’occhiata a ciascuno di essi.
RAM di avvio
Questo valore della memoria dinamica Hyper-V definisce la quantità minima di memoria fisica che una VM selezionata può utilizzare durante l’avvio. La RAM di avvio deve essere sufficientemente elevata da consentire alla VM di avviarsi rapidamente e senza interruzioni. Si noti che la RAM di avvio non può essere modificata mentre la VM è in esecuzione.

RAM minima
Questo valore della memoria dinamica Hyper-V determina la quantità minima di RAM fisica che deve essere assegnata alla VM dopo l’avvio. Se altre VM richiedono RAM aggiuntiva, l’host Hyper-V può iniziare a recuperare la memoria inutilizzata da questa VM fino al raggiungimento del valore minimo di RAM. Si noti che il valore può essere impostato su un minimo di 32 MB, ma non può essere superiore alla RAM di avvio. Inoltre, non è possibile aumentare la memoria minima mentre la VM è in esecuzione o in pausa, ma è possibile ridurla (ad esempio, è possibile modificare il valore minimo della RAM da 512 MB a 64 MB).

RAM massima
Questo valore di memoria dinamica Hyper-V specifica la quantità massima di RAM fisica che la VM può utilizzare. Si noti che questo valore non può essere inferiore alla RAM di avvio assegnata, ma può arrivare fino a 1 TB (1.048.576 MB). Inoltre, non è possibile ridurre la quantità massima di memoria mentre la VM è in esecuzione o in pausa, ma è possibile aumentarla (ad esempio, è possibile modificare il valore massimo della RAM da 512 MB a 2048 MB).
Buffer di memoria
Questo valore di memoria dinamica Hyper-V determina la percentuale di memoria fisica che deve essere allocata alla VM come buffer. Il buffer di memoria è una porzione di memoria fisica che viene riservata alla VM in base alle sue esigenze di memoria. Per calcolare il buffer di memoria, è necessario utilizzare la seguente formula:
Quantità di buffer di memoria = quantità di memoria effettivamente necessaria alla VM / (valore del buffer di memoria / 100).
Per impostazione predefinita, il valore del buffer di memoria è pari al 20%, ma può essere impostato su un valore compreso tra il 5% e il 2000%. È possibile modificare il valore del buffer di memoria in qualsiasi momento, anche mentre la VM è in esecuzione.

Peso della memoria
Questo valore della memoria dinamica Hyper-V specifica la priorità della VM selezionata rispetto alle altre VM su questo host. In base a questo ordine di priorità, è possibile determinare come distribuire la memoria disponibile tra più VM in esecuzione sullo stesso host Hyper-V.
Si noti che se la priorità della VM è impostata su un valore troppo basso e la quantità di memoria fisica disponibile diminuisce, esiste il rischio che questa VM non sia in grado di effettuare l’avvio. È possibile modificare il valore di peso della memoria in qualsiasi momento, anche mentre la VM è in esecuzione.

Procedure consigliate per la memoria dinamica Hyper-V
Per ottenere prestazioni elevate e migliorare l’utilizzo della memoria in ambienti Hyper-V, si consiglia di attenersi alle procedure consigliate per la memoria dinamica Hyper-V.
Le procedure consigliate relative alla memoria dinamica Hyper-V elencate di seguito possono migliorare notevolmente le prestazioni della memoria delle VM e l’esperienza complessiva negli ambienti Hyper-V.
Abilitare i servizi di integrazione Hyper-V
I servizi di integrazione Hyper-V sono un insieme di utilità che consentono di migliorare le prestazioni delle VM in ambienti Hyper-V. Ogni servizio di integrazione Hyper-V deve essere abilitato sia nell’host che nel guest affinché possano funzionare correttamente e fornire i servizi obbligatori. Per impostazione predefinita, tutti i servizi di integrazione Hyper-V, ad eccezione dell’interfaccia di servizio guest Hyper-V, sono abilitati sui sistemi operativi guest.
Affinché la memoria dinamica Hyper-V funzioni in modo efficace, assicurarsi che i servizi di integrazione Hyper-V siano aggiornati all’ultima versione e che il sistema operativo guest supporti la funzione di memoria dinamica. In caso contrario, Hyper-V potrebbe riscontrare problemi perché la memoria non può essere fornita in modo dinamico e le richieste di memoria non possono essere soddisfatte correttamente.
A partire dal rilascio di Windows Server 2016, i servizi di integrazione Hyper-V e gli aggiornamenti corrispondenti possono essere installati tramite Windows Update. Pertanto, è necessario configurare le VM in modo che ricevano gli aggiornamenti, per garantire che l’infrastruttura Hyper-V utilizzi la versione più recente dei servizi di integrazione Hyper-V.
Monitorare l’utilizzo della memoria e l’allocazione delle risorse
Attualmente, sul mercato sono disponibili numerosi strumenti di gestione Hyper-V che consentono di effettuare il monitoraggio dell’utilizzo della memoria e dell’allocazione delle risorse negli ambienti Hyper-V. Con Hyper-V Dynamic Memory abilitato, è possibile sovradimensionare la RAM e esaurire completamente la memoria. Pertanto, si consiglia di tenere traccia della RAM allocata alle varie VM sull’host Hyper-V.
A tal fine, è possibile utilizzare strumenti di monitoraggio nativi o acquistare software di terze parti. Ad esempio, è possibile controllare lo stato della memoria della VM tramite l’host in Hyper-V Manager o la VM guest in Task Manager.


In questo modo è possibile effettuare il monitoraggio di come vengono utilizzate le risorse di memoria all’interno del sistema. Tuttavia, si noti che Hyper-V Manager e Task Manager mostrano risultati diversi per l’utilizzo della memoria. Lo strumento di monitoraggio guest non mostra i risultati effettivi perché la VM guest ritiene che la quantità totale di memoria assegnata alla VM sia effettivamente utilizzata dal suo driver. In realtà, l’host è generalmente più consapevole del modo in cui la memoria viene distribuita alle VM all’interno dell’infrastruttura. La memoria inutilizzata viene infatti riassegnata ad altre VM e questo si riflette in Hyper-V Manager.
Tenere conto della RAM di avvio
Impostare una RAM di avvio più alta o più bassa può influire notevolmente sulle prestazioni di Hyper-V. È consigliabile aumentare la RAM di avvio per garantire che il sistema operativo e le applicazioni in esecuzione su di esso si avviino come obbligatorio. Ciò è dovuto al fatto che Windows richiede più RAM durante l’avvio rispetto a quando il sistema operativo è inattivo.
Inoltre, durante le operazioni di installazione o upgrade, la quantità di RAM disponibile per il sistema operativo guest è pari al valore della RAM di avvio. Pertanto, prima di eseguire l’installazione o gli upgrade, è fondamentale assicurarsi che il valore della RAM di avvio soddisfi i requisiti minimi di memoria del sistema operativo selezionato.
Si noti che se il valore della RAM di avvio è impostato su un valore troppo alto, ciò potrebbe influire negativamente sulle prestazioni della memoria dinamica di Hyper-V e sull’utilizzo complessivo della memoria. Pertanto, si consiglia di assegnare 512 MB come valore RAM di avvio per il sistema operativo guest, in modo che possa avviarsi senza interruzioni.
Non dimenticare le perdite di memoria
Quando si impostano i limiti della memoria dinamica Hyper-V per una particolare VM, è fondamentale tenere presente che l’Infrastruttura potrebbe essere soggetta a perdite di memoria. Le perdite di memoria comportano la perdita graduale della memoria disponibile a causa di un’allocazione errata della memoria. Di solito si verificano quando un’applicazione non riesce a liberare la memoria che era stata fornita solo per un uso temporaneo. Se il problema non viene rilevato prima che si verifichino danni gravi, la memoria del sistema operativo può esaurirsi e l’applicazione finirà per non funzionare più.
Per mitigare gli effetti negativi di questo problema, si consiglia di installare uno strumento di monitoraggio (ad esempio RAMMap) e di eseguire una scansione dell’intera infrastruttura alla ricerca di eventuali incongruenze e di rilevare casi insoliti di utilizzo della memoria da parte delle applicazioni in esecuzione. Inoltre, tali strumenti possono aiutare a determinare i valori minimi e massimi di RAM più appropriati per quella particolare VM.
Configurare i valori massimo e minimo della RAM
Per garantire che la memoria dinamica Hyper-V funzioni come richiesto, si consiglia di determinare i limiti che il sistema non può superare. In questo modo, l’utilizzo della memoria all’interno dell’infrastruttura è controllato in modo efficace, il che significa che la VM non consumerà troppa o troppo poca memoria.
Impostare con attenzione il valore del buffer di memoria
Una procedura consigliata di Hyper-V Dynamic Memory consiste nell’assegnare il valore appropriato al buffer di memoria, che specifica la quantità di memoria aggiuntiva da rendere disponibile per una VM selezionata. Se il valore del buffer di memoria è impostato su un valore elevato, questa quantità extra di memoria viene generalmente utilizzata per la memorizzazione nella cache dei file in VM di grandi dimensioni e per ottimizzare le operazioni di I/O all’interno del sistema.
Allo stesso tempo, il valore del buffer di memoria deve essere impostato su un valore basso se è in esecuzione un’applicazione che richiede una grande quantità di memoria fisica. Con il valore ridotto del buffer di memoria, è possibile essere certi che la memoria disponibile non venga completamente consumata da una singola VM.
Inoltre, se alla VM è già stata assegnata una grande quantità di memoria, è improbabile che ne richieda altra. Pertanto, è più sensato condividere le risorse di memoria inutilizzate con altre VM che ne hanno più bisogno.
Aggiornare gli host Hyper-V quando necessario
Per mantenere stabile e sicuro l’ambiente Hyper-V, assicurarsi che gli host Hyper-V installino tutti gli aggiornamenti e le patch di sicurezza quando obbligatori. Lo scopo principale degli aggiornamenti e delle patch di sicurezza Microsoft è quello di risolvere i problemi individuati nel sistema. Ad esempio, in Windows Server 2012 R2 è stato rilevato un problema con Hyper-V Dynamic Memory che impediva alle VM Hyper-V di ottenere memoria aggiuntiva. Anche se la funzione era abilitata sulle VM, continuava a non funzionare. Per questo motivo, Microsoft ha rilasciato una correzione rapida per risolvere il problema e garantire il corretto funzionamento della funzionalità.
Rilevare i cambiamenti di prestazioni nel corso della giornata
Il carico di lavoro di produzione aumenta notevolmente durante l’orario di lavoro, il che alla fine influisce sulle prestazioni di Hyper-V, sull’allocazione delle risorse e sull’utilizzo della memoria. Come procedura consigliata per Hyper-V Dynamic Memory, si consiglia di monitorare le variazioni nell’utilizzo della memoria nel corso della giornata lavorativa. Rilevando quando si verificano tipicamente i cicli di utilizzo elevato e basso della memoria, è possibile imparare a utilizzare Hyper-V Dynamic Memory a proprio vantaggio.
Abilitare la memoria dinamica Hyper-V quando è effettivamente necessaria
Sebbene la memoria dinamica Hyper-V sia una funzione estremamente utile che migliora l’utilizzo della memoria fisica, in alcuni casi è preferibile l’allocazione statica della memoria. Pertanto, è necessario valutare se la memoria dinamica Hyper-V debba essere abilitata su una particolare VM o meno. Ad esempio, alcune applicazioni hanno prestazioni migliori se dispongono di una quantità predeterminata di RAM che possono utilizzare senza interruzioni. La quantità di RAM preassegnata rimane la stessa nonostante le fluttuazioni nella richiesta di memoria.
Pertanto, si consiglia di pianificare in anticipo come distribuire la memoria fisica nell’ambiente Hyper-V, in modo da evitare l’esaurimento della RAM e il malfunzionamento delle applicazioni in futuro.
Utilizzare Hyper-V Dynamic Memory solo con applicazioni compatibili
Prima di installare qualsiasi applicazione sull’host o sul guest Hyper-V, assicurarsi che tale applicazione possa essere utilizzata insieme a Hyper-V Dynamic Memory. Per verificare tali informazioni, si consiglia di leggere prima la documentazione di supporto del prodotto per conoscere le sue funzionalità e i requisiti di sistema. Tali misure precauzionali possono aiutare a evitare eventuali problemi relativi all’utilizzo e all’allocazione della memoria.
Conclusioni
Dopo aver appreso le procedure consigliate relative a Hyper-V Dynamic Memory, è possibile iniziare a utilizzare la memoria fisica in modo più efficiente e sicuro. Tuttavia, l’infrastruttura virtuale è ancora esposta a vari pericoli e minacce che possono comprometterne le prestazioni. Per garantire la sicurezza del tuo ambiente virtuale, l’opzione più praticabile è quella di utilizzare una soluzione di protezione dei dati. NAKIVO Backup & Replication è una soluzione affidabile, efficace e conveniente che fornisce backup di macchine virtuali, replica, backup su cloud, copia di backup, ripristino del sito e una ricca serie di funzioni.