La memoria virtuale o file di scambio (swap), rappresenta un elemento fondamentale per la stabilita? e la performance del S.O. E? pertanto sconsigliabile non allocarla o impostare a ?1? il valore => ConservativeSwapFileUsage nel file system.ini. Come primo passo, per utilizzatori con 512MB e piu?, con regedit cerchiamo la chiave LargeSystemCache ed impostiamo il valore ad 1. (registro di configurazione pronto) Consigliamo invece di inserire alla voce: [386enh] il parametro: LocalReboot=On => permette di riavviare l'applicazione locale ed alla voce : [vcache] il parametro: AllocPageFixed=OFF => permette di allocare lo SWAP in modo dinamico Se non gia? fatto definiamo con la solita modalita? un file di swap con valore minimo 768mb e massimo 1024mb. Dopo aver riavviato il pc, attiviamo tutte le applicazioni che di solito usiamo, lasciando attive tutte quelle in background. Possiamo inoltre lavorare sulle applicazioni aperte, oppure aprirne delle altre che utilizziamo poco. A questo punto apriamo il task manager, tasto dx sulla systray. Nella parte bassa ci sono quattro rettangoli, Totals, Physical memory , Commit Charge , Kernel memory. Nel Commit Charge (memoria allocata dai programmi) ci sono tre valori espressi in KB: Total , Limit, Peak. Il valore numerico della voce Peak rappresenta il dimensionamento ottimale della memoria virtuale. Per sicurezza su PC client aggiungiamo 256MB e su PC server 512MB. Se ad esempio troviamo un valore 577214, aggiungiamo 256000 ed otteniamo 833214 Kb. A questo punto dividiamo per 1024 ed otteniamo il presunto valore ottimale in MB della memoria virtuale che va reimpostato in Pannello di controllo ? Sistema . L?allocazione ottimale, dal momento che Windows 2000 che XP utilizzano il MultiPaging , consiste nell?inserire il file di swap in ogni HD fisico che non contiene il sistema operativo, qualora si abbia un controller SCSI. Nel caso di RAID 0-1 , 5 , IDE , andremo chiaramente ad impostare un solo file di swap file nell?HD. Non e? stata provata l?efficacia di utilizzare una partizione logica a se stante come da alcuni suggerito sul FORUM , , ma nulla vieta di farlo. Migliorare le prestazioni del file di swap In Windows 98 - di Casper per Wintricks I sistemi operativi Microsoft, da Windows 95 in poi, sono famosi per la loro fame di memoria. Sono ormai lontani i tempi in cui Bill Gates dichiarava che ?640 Kb di RAM basteranno a tutti per far girare qualunque cosa?. Oggi possiamo considerarci fortunati se Windows 98 riesce a girare con prestazioni pi? o meno accettabili su un PC dotato di 64 Mb. In ogni caso, indipendentemente dalla dotazione di RAM del sistema, fin dalla versione 3.x le finestre colorate dello zio Bill hanno fatto uso di una particolare estensione della memoria fisica, conosciuta come memoria virtuale. Per farla breve, Windows gestisce la memoria fisica disponibile in modo dinamico, trasferendo di volta in volta su hard disk in un file denominato win386.swp blocchi di dati non immediatamente necessari, per fare posto alle diverse necessit? delle applicazioni avviate. In un sistema standard il file di memoria virtuale (swap) si trover? sull?unit? predefinita del sistema operativo e avr? dimensioni variabili a seconda della configurazione e delle applicazioni attive. La principale differenza fra la memoria fisica e quella virtuale ? rappresentata dal fatto che la prima ? costituita da un supporto completamente elettronico con tempi di accesso misurabili in nanosecondi, e quindi estremamente veloce. La seconda ? invece gestita su hard disk, un supporto meccanico con tempi di accesso neppure paragonabili e pesantemente condizionata da diversi fattori, fra cui la velocit? di funzionamento dei componenti, lo stato di frammentazione del file di swap e la sua posizione verso l?inizio o la fine dell?unit?. Probabilmente tutti conosciamo almeno qualcuno dei sistemi tradizionali per aumentare le prestazioni della memoria virtuale: 1.disattivare il file di swap, deframmentare l?hard disk e riattivare la memoria virtuale impostata con una dimensione fissa 2.impostare una dimensione fissa e usare una utility, come Speed Disk delle Norton Utilities, per spostare il file di swap all?inizio dell?unit? disco, dove la velocit? di lettura e scrittura dei dati (transfer rate) ? massima 3.creare una partizione riservata esclusivamente al file di swap Di questi, il metodo che garantisce le migliori prestazioni ? il n. 2, ma anche in questo modo la memoria virtuale dovr? pur sempre fare i conti con i tempi di accesso tipici di un supporto meccanico. Vi siete mai chiesti cosa succederebbe se fosse possibile togliere il file di swap dall?hard disk e spostarlo in memoria RAM? Trasferire il file di swap in memoria RAM In teoria non ? realizzabile. Windows infatti non permette di trasferire il file di swap su una unit? disco costituita di memoria RAM attraverso le impostazioni delle Propriet? di sistema. Come spesso succede, per?, quello che non si pu? fare con sistemi normali pu? essere comunque ottenuto attraverso un piccolo trucco? In ambiente DOS ? possibile creare una specie di hard disk virtuale all?interno della memoria RAM. Senza scendere in particolari, questa nuova unit? avr? la sua brava lettera come le altre, potr? avere un?etichetta e si comporter? esattamente come un hard disk qualsiasi, con due sole differenze: sar? enormemente pi? veloce e, spegnendo il PC o mancando la corrente, tutto il suo contenuto verr? cancellato. (Wintricks.com copyright) Trasferendo il file di swap su una unit? di questo tipo, in teoria le prestazioni del sistema dovrebbero aumentare in modo eccezionale. Facile a dirsi? I problemi pi? gravi da risolvere per ottenere questo risultato sono stati tre: ? Windows non permette di trasferire il file di swap su un disco RAM ? con gli strumenti di DOS ? possibile creare dischi RAM di max. 32 Mb ? i dischi RAM sono gestiti sotto Windows in modalit? DOS compatibile Vedremo fra poco come aggirare il primo problema. Il secondo ? stato finora risolto solo in parte: ramdrive.sys fornito con DOS gestisce infatti unit? RAM non pi? grandi di 32 Mb, cio? del tutto insufficienti se il nostro scopo ? spostarci il file di swap di Windows. La ricerca di un gestore di unit? RAM pi? moderno, meno limitato del vecchissimo ramdrive.sys e freeware ha richiesto ore di noiosa navigazione in rete. A questo proposito voglio ringraziare Paolo Russo, che per primo ha recuperato da Internet un gestore gratuito in grado di andare oltre i 32 Mb e sempre per primo ? stato cos? gentile da testare questo esperimento su una piattaforma completamente non-Intel. Purtroppo anche questa prima soluzione si ? rivelata insufficiente: il gestore alternativo (Turbodsk 2.2) ? in grado di arrivare fino a 64 Mb, ma Windows risponde trattando tutte le unit? del PC in modalit? DOS compatibile, riducendo fortemente le prestazioni. Altre ore di ricerca con il sospetto che fosse tempo perso? finch? ho trovato Xmsdsk 1.9i, di Franck Uberto, un programmatore francese. Xmsdsk 1.9i ? freeware e il suo autore afferma che pu? generare senza nessun problema unit? RAM fino a 2 Gb (!) Durante i test, Windows ha gestito normalmente tutte le unit? HD del PC, limitandosi a riconoscere in modalit? DOS compatibile solo l?unit? RAM. Quest?ultimo particolare rappresenta appunto il terzo problema, finora senza soluzione. Una unit? disco funzionante in modalit? DOS compatibile avr? prestazioni inferiori al normale, ma noi stiamo parlando di un disco virtuale fatto di memoria RAM?che nonostante tutto sar? sempre infinitamente pi? veloce di qualsiasi hard disk Dalla teoria alla pratica Prima di proseguire, tenete presente che la procedura descritta di seguito ? del tutto sperimentale, non ? di alcuna utilit? su PC con meno di 128 Mb di RAM e pu? essere provata solo se avete una buona esperienza del funzionamento di Windows e una certa confidenza con DOS. Vi suggerisco di stampare questa pagina o di tenerla aperta sul browser mentre fate la prova. - Dato per scontato che vi troviate in Windows 98, per prima cosa scaricate Xmsdsk cliccando qui. Si tratta di un file zippato autoeseguibile.Terminato il download (56 Kb) fate doppio clic sul file e quindi sul tasto Unzip, che copier? il contenuto nella directory c:\windows. Se preferite siete liberi di estrarlo in un?altra cartella a vostra scelta, ma in questo caso ricordatevi del giusto percorso del file. - Cliccate ora su START, quindi su Esegui e scrivete sysedit . Cliccate su ok e avrete davanti a voi l?editor di configurazione di sistema. La finestra che vedete in primo piano si riferisce al file autoexec.bat . In fondo alle varie stringhe di comandi, aggiungete questa riga: c:\windows\xmsdsk 65536 F: /t /y Fate attenzione al percorso corretto del file, sostituendo se necessario c:\windows\ con la cartella in cui avete decompresso Xmsdsk dopo il download. La stringa suggerita presuppone che abbiate un PC con almeno 128 Mb di RAM. Su un sistema con almeno 164 Mb potete sostituire 65536 con 102400. F: indica che l?unit? RAM virtuale sar? creata con la lettera F: . Naturalmente potete indicare la lettera che preferite, purch? non ancora occupata da unit? gi? esistenti. In generale, lasciare F: andr? benissimo. - A questo punto cliccate sulla barra della finestra di system.ini per portarla in primo piano. Scorrete la lista di istruzioni fino a trovare nel gruppo [386Enh] la voce PagingDrive=C: - Sostituite C: o qualsiasi altra lettera ci sia, con la lettera F: (o comunque con la stessa lettera che avete gi? scelto per la stringa qua sopra) - Subito sotto la voce PagingDrive= troverete anche MinPagingFileSize=xxxx e MaxPagingFileSize=xxxx dove xxxx sta per un numero. Semplicemente, cancellate questi numeri lasciando lo spazio vuoto. - Infine salvate tutto e uscite dall?editor di configurazione di sistema. Per ripristinare la configurazione originale, sar? sufficiente in qualsiasi momento avviare Windows, aprire nuovamente autoexec.bat e cancellare la stringa che avete aggiunto. Stesso discorso con system.ini , togliendo la lettera F: alla voce PagingDrive= e ripristinando C: o qualunque altra cosa ci fosse. Aumento delle prestazioni? A questo punto potete riavviare il sistema. Durante il riavvio, Windows sposter? il file di swap sulla nuova unit? RAM virtuale. Se il vostro PC ? dotato di almeno 128 Mb di memoria, noterete un eccezionale aumento di prestazioni nel caricamento e nell?esecuzione di applicazioni piccole e medie. In linea di massima non potrete per? lanciare applicazioni o giochi particolarmente pesanti, o tenere aperte molte applicazioni insieme. Se disponete di almeno 164 Mb di memoria, potrete tranquillamente giocare e lavorare sul vostro PC come avete sempre fatto.