Memoria compressa in Windows 10, SSD e prefetching: perché non va disabilitato

Windows 10 ha portato al debutto a suo tempo una funzionalità integrata a livello di servizio di sistema per la compressione della memoria. Perché è utile per evitare operazioni di I/O non necessarie su disco/SSD e perché non va disattivata.

Uno dei “falsi miti” più diffusi quando, ancor oggi, si parla di unità SSD consiste nel suggerimento (errato) che alcuni veicolano e che ha a che fare con la disabilitazione del servizio SuperFetch del sistema operativo che in Windows 10 è stato rinominato in SysMain: lo si può trovare sempre in esecuzione premendo la combinazione di tasti Windows+R quindi digitando services.msc.

Il servizio SysMain contribuisce invece a ridurre il quantitativo di operazioni di scrittura su disco o su unità SSD effettuando una compressione e quando necessario un’unione del contenuto delle pagine della memoria (una “pagina” è il quantitativo minimo di informazioni che può essere letto o scritto in un certo istante).

Il cambio di nome da SuperFetch a SysMain è stato, innanzi tutto, verosimilmente deciso da Microsoft per evidenziare il fatto che il servizio è stato rivisto in maniera tale da non eseguire un semplice prefetching delle applicazioni quanto, piuttosto, velocizzare il sistema in maniera significativa puntando su una nuova funzionalità: la compressione della memoria.

Quando la memoria RAM libera comincia a scarseggiare, Windows si avvale del ben noto meccanismo incentrato sull’utilizzo del file di paging (o di paginazione). Servendosi di tale file, il sistema operativo scrive su hard disk o SSD parte delle informazioni che avrebbero dovuto essere conservate in RAM. Appare evidente che le operazioni di I/O sono enormemente più lente su un’unità di memorizzazione rispetto all’esecuzione in RAM.
La compressione della memoria riduce la necessità di ricorrere al file di paging comprimendo direttamente in RAM le informazioni che sono utilizzate con minore frequenza così da lasciare spazio a quelle maggiormente richieste.

Quando il gestore della memoria rileva che la memoria RAM potrebbe iniziare a non baster più, non scaricare più le informazioni su disco o SSD ma le comprime. Il file di paging viene usato quando gli algoritmi che si occupano di gestire la memoria determinano che la compressione non riesce più a compensare la mancanza di memoria fisica.

Fonte: Microsoft

Le pagine della memoria compresse vengono conservate all’interno di uno spazio chiamato compression store e Windows 10 utilizza un unico “contenitore” per i dati di tutte le applicazioni (Win32 e UWP) così come per le applicazioni facenti capo alle varie Windows Runtime. Le pagine con gli stessi contenuti, inoltre, vengono combinate in modo da recuperare ulteriore spazio in memoria RAM.

Con la compressione dei dati in memoria si risparmiano attività di lettura e scrittura su disco/SSD velocizzando il sistema operativo e le applicazioni che troveranno libero un maggior quantitativo di memoria RAM.
I benefici derivanti dall’utilizzo della compressione della memoria diventano palesi quando uno scarso quantitativo di memoria RAM disponibile è associato con un carico di lavoro importante su disco. Ed è ovviamente più utile quando si usano supporti di storage meno performanti come hard disk tradizionali e, ad esempio, memorie eMMC.
Un SSD riesce a gestire rapidamente anche workload più intensivi e in tali frangenti la compressione della memoria risulterà comunque utile perché permetterà di evitare operazioni di I/O non strettamente necessarie.

Premendo la combinazione di tasti CTRL+MAIUSC+ESC per aprire il Task Manager di Windows 10 (cliccare, ove proposto, su Più dettagli), cliccando sulla scheda Prestazioni quindi su Memoria, osservando l’indicazione In uso (compressa) nella parte inferiore della finestra, tra parentesi tonde si potrà leggere il quantitativo di dati che sono gestiti come memoria compressa. Tale indicazione conferma che la tecnologia è in uso e sta funzionando correttamente.

Anche la nota utilità Process Explorer (Process Explorer, un task manager all’ennesima potenza) fornisce la medesima informazione: l’indicazione Memory compression indica il quantitativo di memoria compresso con lo scopo di scongiurare l’utilizzo del file di paging.

Premendo la combinazione di tasti Windows+X quindi scegliendo Windows PowerShell (amministratore) e digitando il comando Get-MMAgent, si potrà verificare la corretta attivazione e l’effettivo utilizzo (True) dei cinque componenti software che si occupano della gestione della memoria (la sigla “MM” sta per memory management).

Degli altri “falsi miti” legati alla gestione degli SSD abbiamo parlato nell’articolo Come ottimizzare SSD in Windows.

Per approfondire, suggeriamo la lettura dell’articolo Memoria RAM, come sceglierla e quando estenderla.

Ti consigliamo anche

Link copiato negli appunti