Controllare cache e processi di Windows


Per controllare quanta memoria occorre per la cache del disco e per i programmi usati più di frequente, normalmente sono sufficienti gli strumenti di bordo di Windows. Ecco quali sono, caso per caso.


Windows 9x/ME dispone del monitor di sistema SYSMON.EXE che, tuttavia, non viene normalmente installato. È possibile recuperarlo in PANNELLO DI CONTROLLO/INSTALLAZIONE APPLICAZIONI/INSTALLAZIONE DI WINDOWS. Le principali informazioni si trovano in MODIFICA/AGGIUNGI ELEMENTO, quindi selezionando, sotto GESTORE MEMORIA, le voci MEMORIA FISICA NON UTILIZZATA (in Windows 95 MEMORIA LIBERA) e DIMENSIONE CACHE DISCO. Il monitor di sistema non offre tuttavia la possibilità di misurare il consumo individuale di RAM per ogni processo. È quindi possibile fare solo una stima della memoria utilizzata da un programma osservando la quantità di RAM libera che esso sottrae appena entra in funzione.

Windows 2000 e XP, offre alcune funzioni all’interno del task manager (digitare TASKMGR.EXE da START/ESEGUI oppure CTRL+ALT+ESC) e del monitor di sistema memoria di windows(digitare PERFMON.MSC da START/ESEGUI). Per quanto riguarda il primo, sotto PRESTAZIONI DEL SISTEMA/MEMORIA FISICA, si ha una panoramica completa dello spazio libero e di quello occupato dalla cache. Alla voce PROCESSI, il task manager mostra il fabbisogno di ogni processo in corso di esecuzione, indicando non solo il “consumo” di risorse del codice di programma, ma anche quello dei buffer di dati. Si tratta di un particolare di non poca importanza, visto che per esempio, un visualizzatore di immagini come Irfan View, che scrive 4 MB scarsi di codice nella memoria, se presenta molte immagini in anteprima arriva a occuparne anche 40 di MB. In questo caso, le indicazioni fornite dal task manager sono più utili di alcuni strumenti speciali, come System Information delle Norton Utilities. Ancora più precise sono le analisi eseguite dal monitor di sistema. La più chiara è l’opzione di visualizzazione RAPPORTO (il settimo pulsante da sinistra sulla barra degli strumenti). Con il pulsante + a destra è possibile selezionare ciò che il monitor dovrà misurare: la finestra AGGIUNGI INDICATORI DI PRESTAZIONI offre, accanto alla voce predefinita PROCESSORE, altri 29 oggetti, tra cui FILE DI SCAMBIO, MEMORIA e SISTEMA, ciascuno contenente una serie di dati specifici. Un oggetto di particolare interesse è PROCESSO, che consente di misurare vari aspetti relativi a ogni programma in esecuzione. Il valore PRIVATE BYTES, inoltre, corrisponde al valore visualizzato anche dal task manager. L’impiego di questi strumenti di analisi è utile soprattutto nei sistemi che dispongono di poca RAM: basta poco per verificare, tra due programmi operativamente simili, quale richiede meno risorse al computer.

Cosa è utile, cosa non serve
Se, pur disponendo di un calcolatore con una dotazione insufficiente, non si desidera investire né in moduli RAM, né in un sistema più potente per altri aspetti, allora non resta che ricorrere a software applicativi  meno esigenti in termini di risorse, disattivare inutili programmi e servizi che operano in background e gestire la cache del sistema in modo particolarmente  oculato. In linea generale, è possibile rinunciare a tutto ciò che, durante l’installazione di programmi, si è accumulato in  START/PROGRAMMI/ESECUZIONE AUTOMATICA nella chiave HKEY_LOCAL_MACHINE\SOFTWARE\- MICROSOFT\WINDOWS\CURRENTVERSION\RUN oppure nell’Utilità di pianificazione sotto OPERAZIONI PIANIFICATE. Sono naturalmente esclusi i collegamenti personali creati per uno scopo ben preciso. L’eliminazione di
voci nella chiave HKEY_LOCAL_MACHINE\SOFTWARE\- MICROSOFT\WINDOWS\CURRENTVERSION\RUNSERVICES può invece mettere fuori uso importanti funzioni di Windows come il controllo del registro o il controllo del file system ed è quindi consigliabile solo a utenti che sanno esattamente a cosa si riferisce ogni singolo dettaglio.
In alternativa si può operare sulla cache del disco che, solo in Windows 9x/ME, può essere ridotta (nell’esempio sottostante a 16 MB) inserendo due righe nel
file SYSTEM.INI.

 [vcache]
MaxFileCache=16384

Quella appena vista, però, è una soluzione quasi sempre sconsigliabile: quando il software richiede memoria,  infatti, la cache dinamica me assegna una quantità automaticamente. Limitando la capacità della cache, infatti,  lo scambio di memoria tra cache e software diventa inutile a partire dal limite impostato. Per ottenere un guadagno
in termini di memoria, si dovrebbe ridurre la  cache al di sotto di quello che Windows considera il minimo: per Windows 95 è circa il 10 percento della memoria totale, in Windows 98 e ME il 5 percento. Ciò ha senso solo in rarissimi casi e, solitamente, ridurre la cache a meno di 6 MB, per esempio in un sistema con Windows ME e 128 MB, comporta effetti negativi  sulle prestazioni. Per queste ragioni, se si vuole imporre una limitazione generale alla cache, ha più senso vuotarla provvisoriamente e liberare la maggior quantità possibile di memoria. Per i sistemi Windows basta una riga di codice VB, memorizzata per esempio come DELCACHE.VBS.
a=string(100000000,”x”)
Questa miniscript chiede circa 100 MB per la sua variabile e costringe così la cache a vuotare il proprio  buffer. Dopodiché lo script termina, restituisce la memoria e, così facendo, aumenta notevolmente la  memoria disponibile per le applicazioni. Il valore va impostato sempre in modo da richiedere gran parte della memoria totale: 100 MB è la   misura giusta su un totale di 128 MB di RAM. Se un’applicazione o un gioco  assorbono la massima memoria disponibile, è possibile,con il Task Manager (Windows 2000 e XP),  terminare anche componenti di sistema la cui chiusura  non è normalmente prevista. Il raccolto più copioso lo dà la shell di ESPLORA RISORSE, con una quantità di memoria liberata compresa tra 5 e 16 MB, a seconda  della versione di Windows.

Con un semplice script è poi possibile automatizzare completamente l’avvio ottimizzato di un programma per così dire ingordo.  Infine, se un pc viene utilizzato solo per navigare o  per scrivere, a mo’ di file server o come lettore di MP3, è possibile rinunciare  completamente alla normale shell di ESPLORA RISORSE e sostituirla, per esempio, con TASKMAN.EXE (presente in Windows 95/98/ME, ma funzionante anche in Windows 2000 e XP). In  Windows 9x/ME sostituire, nella sezione [Boot] del SYSTEM.INI, la voce SHELL=EXPLORER.EXE con SHELL=TASKMAN.EXE. In Windows 2000 e XP una corrispondente  sequenza SHELL si trova nella chiave del registro HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\ WINDOWS NT\CURRENT  VERSION\WINLOGON.