Questo articolo spiega come ottimizzare le prestazioni del nostro sistema Windows XP migliorando la gestione della memoria virtuale.
Questo sistema, utilizzato e consigliato da sempre nei sistemi Linux, consiste nel creare una partizione ad hoc per la memoria virtuale di Windows, ovvero creare quella che viene definita la partizione di Swap.
Prima di procedere, vediamo di capire meglio in cosa consiste il problema.
Ogni sistema ha un quantitativo di memoria volatile, ovvero la memoria RAM, limitato. Quando la capacità di questa memoria volatile si esaurisce, il sistema operativo applica una politica di paginazione: copia i dati meno utilizzati che occupano spazio nella memoria volatile, portandoli in nella memoria di massa, ovvero il nostro disco rigido. Operazioni di questo tipo sono molto comuni nel ciclo di vita di una sessione, quindi il sistema operativo è costretto ad applicare questa politica abbastanza spesso.
Questo continuo movimento di dati, scrittura e lettura dal nostro disco fisso, rallenta il sistema e aumenta il rischio di frammentazione del disco. Per questo motivo, è preferibile utilizzare una partizione del nostro disco totalmente ed esclusivamente dedicata al file di paginazione.
L’ideale, ovviamente, sarebbe di non avere nessun file di paginazione… ma questo significa avere un quantitativo di ram tale da non richiedere questa operazione. Se non si dispone di un quantitativo di RAM tale da annullare la paginazione, conviene almeno limitare i danni della frammentazione creando una partizione dedicata a questo scambio di dati tra RAM e disco fisso.
L’operazione da compiere è semplice, ma servono un solo requisito. Una partizione di dimensione doppia rispetto alla RAM installata può bastare. Ci basta andare sulle proprietà delle risorse del computer, pagina Avanzate, pulsante Impostazioni dell’area prestazioni, pagina Avanzate e pulsante Cambia dell’area Memoria Virtuale. In questa notiamo che attualmente il nostro file di paginazione risiede nella stessa unità del sistema operativo, quello che ci interessa conoscere, per il momento, è che consiglio ci da il nostro sistema operativo per la dimensione minima della nostra partizione dedicata. Prendiamo nota quindi del numero in MB dell’etichetta Consigliata nell’area Dimensioni totali file di paging per tutte le unità. Nella figura, risulta essere 3070MB. Andiamo a creare una partizione da Pannello di controllo, Prestazioni e manutenzione, Strumenti di amministrazione, Gestione computer, Gestione disco. Li creiamo una nuova partizione. Le dimensioni consigliate della partizione sono il doppio della nostra RAM o il doppio di quella consigliata da Windows. Nel mio caso, ho creato una partizione di 6077 MB per il mio file di paginazione.
Ultimata la fase di creazione della paginazione possiamo tornare alle impostazioni della memoria virtuale. Indichiamo che la partizione contenente il sistema operativo non deve contenere nessun file di paging, ed impostiamo un file di paging a dimensioni fisse nella partizione dedicata con Dimensioni iniziali uguali a quelle consigliate e Dimensioni massime uguali alla dimensione della partizione meno 5 MB (tutte le partizioni Windows, infatti, devono sempre avere almeno 5 MB liberi).
Al prossimo avvio di Windows avremo il nostro file di paginazione (pagefile.sys) confinato nella partizione di swap e il nostro disco non soffrirà molto meno, aumentando le sue prestazioni, di prima per il problema della frammentazione dei file.
A questo punto, meglio fare partire una deframmentazione del disco (sempre da Gestione computer, Utilità di deframmentazione dischi) per sistemare i danni causati dal file di paginazione in un luogo non a lui dedicato!
!!! Aggiornamento !!!
Dopo i commenti di Giuffrolo, che ringrazio, aggiungo che per ottimizzare il procedimento conviene
- Disabilitare l’indicizzazione della partizione di swap (Risorse del computer -> Pulsante destro sulla partizione di swap creata -> Proprietà -> Togliere la spunta da “Indicizza il disco per una ricerca rapida dei file”);
- Creare la partizione di swap prima possibile, possibilmente subito dopo la partizione del disco che contiene il Sistema Operativo;
- Rendere le dimensioni della partizione fissa, impostando la dimensione iniziale uguale alla dimensione massima pari alla dimensione della partizione meno 5 MB.
Sottoscrivi questo blog


Ciao Marco,
permettimi qualche osservazione circa il tuo principio per l’ottimizzazione del file di swap di Windows.
Premesso che hai dimenticato di disattivare l’indicizzazione (questa è attiva di default) sulla partizione di swap, la procedura da te descritta può ulteriormente essere ottimizzata:
- impostare una dimensione minima uguale alla dimensione massima, uguale alla dimensione della partizione dedicata - 5 MB, permette di avere da subito il file di swap della dimensione voluta, senza andarla a modificare durante lo swapping process (altri cicli di lettura/scrittura);
- considerando la conformità dei dischi rigidi, i primi settori scritti risultano essere i più performanti: per questo motivo, è preferibile creare un file di swap di dimensione fissa (tanto da raggiungere, insieme alla RAM instllata, un quantitativo sufficiente al nostro caso peggiore) nella stessa partizione del sistema operativo. La generazione di un file di swap di dimensioni minime e massime uguali comporta la creazione dello stesso con la minima frammentazione possibile dello stesso (l’ideale sarebbe di fare questo processo post-installazione del’S.O.).
Con questi due punti si è massimizzata la performance sul file di swap.
Ciao Giuffrolo!!!
Hai pienamente ragione, ma prima di aggiornare l’articolo con i tuoi consigli ti faccio qualche altra domanda sulla dimensione della partizione di swap.
Avere una partizione troppo grande rallenta il sistema per la sua gestione?
Supponendo che il SO non abbia mai bisogno di allargare la partizione di swap, averla da 2GB o da 6GB è uguale per il sistema?
Ciao Marco,
per rispondere alla tua domanda:
avere un file di swap dinamico comunque porta il sistema a rimodulare lo stesso con qualche ciclo lettura/scrittura (ti ricordo che siamo in ambiente windows, su linux il discorso è diverso: il file di swap non è mai usato tranne quando la RAM disponibile è realmente in esaurimento); inoltre, se il file di swap è presente nella stesa partizione del SO, allora la frammentazione “potrebbe” essere presente, ma sicuramente il DB dell’indicizzazione (che non va disabilitato su C:) si aggiornerà di conseguenza.
Avere una immagine di swap fissa da 2GB o da 6GB non cambia nulla…a patto che sia fissa (certo, 6GB sono davvero tanti: immagino, poi, che siano supportati da un bel quantitativo di RAM fisica).
A presto.
Ottimo articolo.
La partizione dedicata al file di swap puo anche essere su un altro disco fisso oppure deve essere necessariamente su C.
Grazie per la cortese risposta e distinti saluti.
Virgilio
Può anche stare su un altro disco fisso, anzi è molto più performate (specialmente se è la prima partizione per i motivi detti da Giuffrolo).
thank you, brother
well done, man
Mi chiamo mariosalvo,interessante il discorso e vorrei creare anche io una partizione solo per il file swap, ho un disco c con sistema operativo da 160 gb un disco d da 80 gb, con ram da 1gb.
Fino a come creare la partizione non ci sono problemi , o in C o in D tutto chiaro,non sono riuscito a capire questo passaggio:
Rendere le dimensioni della partizione fissa, impostando la dimensione iniziale uguale alla dimensione massima pari alla dimensione della partizione -5MB.Potresti spiegarmelo con un esempio per favore?
Vi ringrazio anticipatamente saluti da Mariosalvo
Scusate un’ altra domanda: nel creare una nuova partizione i dati che ci sono sul disco non vengono dannegiati vero?E’ vero che la partizione deve essere creata in FAT32, perche’ piu’ veloce di NFTS?
Mio sistema oprativo:windows xp HOME in NTFS
ram 1 GB
HD con sistema operativo 160 gb ( C )
HD in piu’ da 80 gb ( D )
Potreste per favore spiegarmi da quanti gb deve essere la partizione da creare per il file SWAP , se conviene creala in C o in D , e spiegarmi con qualche esempio questo passaggio perche’ non mi e’ chiaro:
Rendere le dimensioni della partizione fissa, impostando la dimensione iniziale uguale alla dimensione massima pari alla dimensione della partizione -5MB.Potresti spiegarmelo con un esempio per favore?
Vi ringrazio anticipatamente saluti da Mariosalvo
P.S. Scusate se ho riscritto il tutto, non mi e’ sembrato tanto chiaro il primo commento lasciato.
Per prima cosa bisognerebbe capire che tipo di hard disk hai!
Diciamo che in linea generale meglio mettere la partizione di swap all’inizio del disco più veloce (quello che riesce a fare più giri al minuto, lo trovi nelle specifiche del tuo hard disk) e anche che il disco rigido sia diverso da quello dove è installato il sistema operativo.
Rispondo velocemente alle tue domande:
- Creando una nuova partizione non vengono danneggiati i dati esistenti, ma è una operazione delicata… devi stare attento a come partizioni. Un software molto semplice per effettuare le partizioni è Acronis Disk Director Suite (http://www.acronis.it/);
- Meglio creare le partizioni in NTFS se devi usarle solo con Windows, hai molte più opzioni attivabili.
Avendo 1 GB di ram ti consiglio di creare una partizione di 2056 MB.
I passi da seguire sono questi:
- Crea la partizione da 2056 MB
- Doppio click su Risorse del Computer -> Pulsante destro sulla partizione appena creata -> Proprietà
- Deseleziona il check da Indicizza il disco per una rapida ricerca dei file
- Start -> Pulsante destro su Risorse del Computer -> Proprietà
- Pagina Avanzate -> Pulsante Impostazioni dell’area Prestazioni
- Pagina Avanzate -> Pulsante Cambia dell’area Memoria Virtuale
- Seleziona la partizione da 2056 MB che hai creato
- Seleziona Dimensioni Personalizzate
- Inserisci il numero 2048 sia in Dimensioni Iniziali che in Dimensioni massime
Finito!
Spero di essere stato più chiaro adesso!
ti ringrazio molto per l’articolo, ha sciolto tutte le mie riserve
Anche io una domanda. Creando la partizione dedicata solo al file di swap sullo stesso hard disk del sistema operativo, subito dopo la partizione di win, l’indicizzazione in questo caso si può levare dalla sola partizione del file di swap oppure la cosa è fattibile solo per l’intero HD?
Io ha 2 Gb di ram per non sbagliare nell’impostare le dimensioni minime e massime qunto metto?
Grazie
Antonio
Direi di lasciare l’indicizzazione nelle altre partizioni (specialmente se ricerchi in modo assiduo documenti).
Per 2 GB di ram direi che ti servono 4 GB di spazio per la partizione di swap, ma se hai problemi di spazio anche 3 GB vanno benissimo.