IlSoftware.it - Il sito italiano sul software

Come liberare memoria in Windows: cosa sono i memory leak


Controllare quali processi in esecuzione occupano più RAM in Windows e scoprire come recuperare memoria liberando quella indicata come in stand by.


Il termine memory leak è traducibile dall'inglese come "perdita di memoria". Si tratta di un problema che si verifica quando un programma in esecuzione non libera correttamente blocchi di memoria precedentemente occupati e utilizzati. Le informazioni riferibili a un'applicazione continuano così a occupare spazio nella memoria volatile (RAM) del PC rendendolo temporaneamente indisponibile per gli altri utilizzi.

I memory leak sono problemi dovuti a un'imperfetta gestione della memoria da parte dei programmi installati sul sistema in uso e possono essere corretti solamente dagli sviluppatori delle singole applicazioni.

Sebbene vi siano molteplici esempi di memory leak in Windows, è bene soffermarsi sul quantitativo di memoria indicato dal sistema operativo come in "Stand by".
La memoria RAM indicata in "Stand by" contiene dati memorizzati nella cache e informazioni che non sono utilizzate attivamente dai processi in esecuzione.
Un quantitativo di memoria in "Stand by" che aumenta velocemente nel corso del tempo può essere sintomo di un problema suggerendo l'utilizzo di un'applicazione mal sviluppata. Qualcosa di simile accade quando si utilizza il browser e si adoperano una o più applicazioni non ottimizzate: in questi casi, l'utilizzo della memoria RAM può salire notevolmente e spesso neppure la chiusura della singola tab consente di risolvere il problema.

Liberare la RAM in Windows: quali strumenti utilizzare

Nel caso in cui si rilevassero prestazioni ridotte e addirittura un'attività eccessiva su disco fisso o SSD, è sempre bene controllare lo stato della RAM. La memoria del PC, infatti, è finita e sebbene utilizzare configurazioni sovradimensionate sia sconsigliabile, è altrettanto fondamentale controllare che la dotazione di memoria RAM sia adatta alla tipologia di operazioni che si effettuano abitualmente.

Nel nostro articolo di approfondimento Memoria RAM, come sceglierla e quando estenderla abbiamo descritto i vari tipi di memoria presentando anche gli strumenti migliori per capire quando fosse opportuno ampliarla a livello hardware.
Da non trascurare l'utilizzo del Task Manager di Windows che in Windows 10 è diventato ancora più utile per individuare la causa della stragrande maggioranza delle problematiche: Task Manager Windows 10: che cosa permette di fare.

Il primo strumento da utilizzare in Windows per studiare la situazione è sicuramente Monitoraggio risorse avviabile premendo la combinazione di tasti Windows+R quindi scrivendo resmon nel campo Apri.

Cliccando sulla scheda Memoria quindi sull'intestazione della colonna Commit, è possibile ottenere - in ordine decrescente - la lista dei programmi in esecuzione che occupano più memoria RAM.


È interessante e utile controllare la barra di colore blu (memoria in Stand by) per verificare se qualche programma in esecuzione tendesse a far accrescere eccessivamente il quantitativo di RAM "prenotata" ma non effettivamente impegnata.

Con RAMMap, utilità Microsoft distribuita gratuitamente, è possibile ottenere informazioni in più: basta fare riferimento alle schede Use Counts e Processes.


In particolare, cliccando sull'intestazione della colonna Total nella scheda Processes è possibile ordinare i processi stabilendo quelli che occupano maggiormente la memoria del PC.

In RAMMap è presente un comando che permette di liberare la RAM rimuovendo le informazioni in stand by: per procedere basta accedere al menu Empty quindi scegliere Empty Standby list.


Mantenendo tutte le applicazioni in uso sempre in esecuzione, il quantitativo di memoria indicato come in stand by tenderà a poco a poco a crescere nuovamente. Chiudendo i vari programmi e studiandone il comportamento, è possibile stabilire quali applicazioni tendono a occupare la RAM in maniera più incisiva facendo crescere il quantitativo di memoria in stand by.

Per ripulire la memoria cache ed eliminare le informazioni in stand by, è possibile utilizzare l'utilità gratuita Intelligent Stanby List Cleaner (ISLC) scaricabile da questa pagina cliccando sul link Official download here.
Dopo aver estratto il programma in una cartella di propria scelta, sarà possibile ripulire manualmente la RAM e liberare memoria cliccando sul pulsante Purge Standby list.


Digitando Pianifica attività nella casella di ricerca di Windows, è possibile anche predisporre l'esecuzione automatica di ISLC all'avvio del sistema operativo (l'importante è che al programma vengano assegnati i diritti di amministratore altrimenti non funzionerà).
Per impostazione predefinita ISLC libera la memoria in stand by ogni volta che il quantitativo libero scende sotto 1 GB (il valore è liberamente personalizzabile).
Nel caso in cui si predisponesse l'avvio automatico di ISLC, suggeriamo di spuntare la casella Start minimized.

Da ultimo presentiamo uno script eccellente che si occupa di liberare la RAM in stand by in modo del tutto automatico occupandosi di creare un'operazione pianificata nella finestra Pianifica attività.
Per utilizzare lo script è sufficiente portarsi a questo indirizzo, copiare tutto il contenuto del file batch (CTRL+A, CTRL+C), creare un nuovo file di testo - ad esempio sul desktop -, copiarvi (CTRL+V) lo script, salvarlo quindi rinominarlo con l'estensione .bat.


Cliccando con il tasto destro del mouse sul file batch e scegliendo Esegui come amministratore, ogni 3 minuti verrà controllato il quantitativo di memoria disponibile.
Non appena dovesse scendere sotto gli 1,5 GB, il contenuto della memoria in stand by sarà eliminato.

Eseguendo nuovamente il file batch con i diritti di amministratore, l'attività di controllo e ottimizzazione della memoria sarà automaticamente disattivata (verrà rimossa anche l'attività pianificata).


In testa al file batch le variabili CLEAR_EVERY_MINUTES e CLEAR_WHEN_UNDER_MB permettono di stabilire ogni quanti minuti procedere con la pulizia della memoria e la soglia di memoria libera al di sotto della quale deve essere avviata l'operazione.

Dopo aver eseguito una volta il file batch, la memoria potrà essere liberata anche manualmente da prompt dei comandi aperto con i diritti di amministratore digitando semplicemente freestandbymemory e premendo il tasto Invio.


di Michele Nasi
IlSoftware.it - Il sito italiano sul software