Miglioramenti del Gestore della memoria e della cache

Questo argomento illustra i Miglioramenti apportati al Gestore della memoria e al Gestore della cache in Windows Server 2012 e 2016.

Miglioramenti apportati al Gestore della cache in Windows Server 2022

Il gestore della cache è ora in grado di riconoscere NUMA, il che garantisce una migliore capacità del sistema di evitare lo spostamento dei dati attraverso i confini di NUMA. Evitare gli accessi da un nodo NUMA alla memoria e ad altre risorse del kernel in un altro nodo NUMA comporta un notevole sovraccarico. Rendendo il Gestore della cache compatibile con NUMA, sono stati eliminati tali hop tra NUMA, ottimizzando così i carichi di lavoro di I/O memorizzati nella cache in esecuzione su configurazioni a più nodi.

Miglioramenti apportati al Gestore della cache in Windows Server 2019

È stato aggiunto il supporto Zero-Copy per la memoria persistente (PMEM). Per altreinformazioni sulla memoria persistente, vedere Comprendere e distribuire la memoria persistente. In modalità Accesso casuale (DAX), PMEM funziona come memoria per ottenere la latenza più bassa, eliminando una copia aggiuntiva dei dati e bypassando gran parte del sovraccarico derivante dai minifiltri del file system e della pila di archiviazione. Questa modalità funziona solo con NTFS come file system.

Miglioramenti apportati al Gestore della cache in Windows Server 2016

In Gestore cache è stato inoltre aggiunto il supporto per le letture memorizzate nella cache asincrone. Ciò potrebbe potenzialmente migliorare le prestazioni di un'applicazione se fa molto affidamento sulle letture asincrone memorizzate nella cache.  Sebbene la maggior parte dei file system in-box abbia supportato la lettura asincrona nella cache per un certo periodo, spesso le prestazioni erano limitate a causa di scelte progettuali diverse relative alla gestione dei pool di thread e delle code di lavoro interne ai filesystem.  Con il supporto del kernel vero e proprio, Gestore della cache ora nasconde tutte le complessità di gestione del pool di thread e delle code di lavoro dai file system, rendendo più efficiente la gestione delle letture asincrone nella cache. Gestore della cache dispone di un set di strutture di dati di controllo per ognuno dei livelli di annidamento dei dischi rigidi virtuali (massimo supportato dal sistema) per ottimizzare il parallelismo.

Miglioramenti apportati al Gestore della cache in Windows Server 2012

Oltre ai miglioramenti apportati da Gestore della cache alla logica di lettura anticipata per i carichi di lavoro sequenziali, è stata aggiunta una nuova API CcSetReadAheadGranularityExper consentire ai driver dei file system, come SMB, di modificare i parametri di lettura anticipata. Consente una migliore velocità effettiva per gli scenari di file remoti inviando più richieste di lettura anticipata di piccole dimensioni anziché inviare una singola richiesta di lettura anticipata di grandi dimensioni. Solo i componenti del kernel, ad esempio i driver del file system, possono configurare questi valori a livello di codice per ogni singolo file.

Miglioramenti apportati al Gestore della memoria in Windows Server 2012

L'abilitazione della combinazione di pagine può ridurre l'uso della memoria nei server in cui sono presenti molte pagine private e paginabili con contenuti identici. Ad esempio, i server che eseguono più istanze della stessa app ad alta intensità di memoria, o una singola app che lavora con dati altamente ripetitivi, potrebbero essere buoni candidati per provare la combinazione di pagine. Il lato negativo dell'attivazione della combinazione di pagine consiste nell'aumento dell'utilizzo della CPU.

Ecco alcuni esempi di ruoli di server per i quali è improbabile che la combinazione di pagine possa offrire grandi vantaggi:

  • File server (la maggior parte della memoria viene consumata da pagine di file che non sono private e quindi non combinabili)

  • Server Microsoft SQL configurati per usare AWE o pagine di grandi dimensioni (la maggior parte della memoria è privata ma non paginabile)

La combinazione di pagine è disabilitata per impostazione predefinita, ma può essere abilitata usando il cmdlet Enable-MMAgent di Windows PowerShell. La combinazione di pagine è stata aggiunta in Windows Server 2012.