|
2. Deframmentazione
Quando iniziate a usare un computer nuovo, con il disco occupato solo dall’installazione di Windows, il sistema è abbastanza veloce, compatibilmente con la quantità di RAM e le prestazioni del disco. Se la memoria è sufficiente per evitare il frequente scambio di pagine con il disco (con XP consigliamo 256 MB per lavoro leggero, 512 MB per lavoro medio-intenso), il collo di bottiglia delle prestazioni del sistema è costituito essenzialmente dall’hard disk (non considerando la velocità della connessione a Internet). Buone prestazioni a basso costo si ottengono usando dischi IDE da 7200 RPM con ampia cache (8 MB). Alte prestazioni si ottengono con dischi SCSI da 10.000 o 15.000 RPM, che offrono tempi di accesso circa dimezzati rispetto ai dischi IDE.
Tuttavia, qualunque sia la cifra investita nello storage (hard disk Ultra320 SCSI, controller RAID con cache, motherborad con bus PCI-X da 1 GB/s ecc.), quello che succede in qualunque sistema, sia esso desktop, server o workstation, è il degrado delle prestazioni nel tempo a causa della frammentazione del disco (lo spezzettarsi dei file e delle aree libere in segmenti sparpagliati per la partizione).
Il processo di frammentazione non richiede mesi: bastano ore o minuti. Per esempio, la procedura di installazione di Windows, che dura circa un’ora e dispone sull’hard disk “in bell’ordine” i file prelevati dal CD di installazione costruendo nello stesso tempo il registro di sistema e altre strutture, lascia il disco con centinaia di frammenti anche se si inizia con la partizione vuota.
Durante la formattazione, la partizione viene suddivisa in settori di 512 byte. Il file system organizza i settori raggruppandoli in cluster, le unità minime con cui viene allocato lo spazio su disco. A seconda del file system (FAT, FAT32, NTFS ecc.) e delle dimensioni del disco e della partizione, varia il numero di settori per cluster.
Per esempio, un disco da 20 GB con una sola partizione NTFS può avere anche un solo settore per cluster, mentre un disco da 60 GB con due partizioni NTFS da 30 GB avrà cluster di otto settori (4 KB per cluster).
Minore è la dimensione del cluster, minore è lo spreco di spazio (le parti di cluster inutilizzate dai file piccoli) e maggiore è il rischio di frammentazione. Sebbene l’utility di formattazione permetta all’utente di specificare le dimensioni dei cluster, conviene utilizzare i default scelti da Windows in base alle dimensioni dei volumi.
Con il file system FAT32, un disco di 10 GB avrebbe cluster di 8 KB.
Inizialmente Windows registra i file utilizzando la prima area libera disponibile e disponendo i cluster in sequenza finché possibile; se l’area di spazio libero contiguo non basta a contenere il file, si trova lo spazio libero successivo e il file prende la forma di una catena di segmenti, ciascuno costituito da cluster contigui.
Un grosso file (per esempio grafico o multimediale) copiato su un disco il cui spazio libero sia sparso in centinaia o migliaia di frammenti, sarà a sua volta altamente frammentato e richiederà un tempo interminabile (migliaia di accessi fisici al disco) per essere manipolato.
Anche considerando la situazione ideale di file contigui e spazio libero contiguo (che peraltro è impossibile ottenere senza acquistare un programma di deframmentazione), la situazione si degrada rapidamente appena i cluster cominciano a essere creati e cancellati per effetto della normale evoluzione del sistema (Windows non sta mai fermo) e dei dati creati, modificati e cancellati dall’utente. Nel caso delle workstation grafiche o multimediali e dei server la rapidità di frammentazione richiede un processo di deframmentazione automatico permanente o, in sua assenza, continue deframmentazioni manuali ogni poche ore.
Un grafico professionista che manipola foto e immagini Tiff da centinaia di MB e che impagina grosse pubblicazioni, vede il sistema rallentare a vista d’occhio nel giro di poche ore, tanto più quanto è maggiore la percentuale di occupazione del disco.
Windows NT, 2000 e XP, per essere efficienti, hanno bisogno di partizioni poco frammentate e di ampio spazio libero (il 30% del disco è una quota abbastanza sicura); se lo spazio libero cala eccessivamente sia in percentuale sia in dimensione (anche in rapporto alle dimensioni dei file da gestire), diventa sempre minore la percentuale di disco deframmentabile, perché mancano i necessari spazi di manovra contigui.
Se il disco si riempie oltre una certa percentuale, Windows diventa letargico, iniziano i malfunzionamenti e, se si insiste a usarlo senza liberare spazio, a un certo punto non solo non funziona più, ma neanche riparte.
L’effetto della frammentazione dei dischi è equivalente a un downgrade della configurazione hardware, come se qualcuno vi sottraesse metà della RAM, vi mettesse un Pentium II al posto dell’Athlon o Pentium 4 o vi sostituisse il disco SCSI da 10.000 RPM con un vecchio IDE da 5400 RPM. Quando il sistema rallenta perché il disco si riempie e non viene mai deframmentato, la soluzione sbagliata è comprare nuovo hardware (una soluzione molto frequente). La soluzione efficace è installare un deframmentatore automatico (quelli manuali e con funzioni limitate, come quello fornito in Windows XP, servono da dimostrazione per toccare con mano gli effetti della deframmentazione, motivando la modesta spesa per un programma serio).
Solo se sarà effettivamente necessario si potrà procedere ad acquistare dischi più capaci e veloci e forse altra RAM (di solito non serve una CPU più veloce).
Nella nostra esperienza, l’unico deframmentatore ampiamente diffuso sul mercato che ha le caratteristiche desiderate (profondità di deframmentazione, fase opzionale all’avvio per deframmentare le strutture non modificabili con Windows aperto, intervento automatico in base alla necessità, affidabilità, velocità di esecuzione, deframmentazione dei dischi di rete e altro ancora) è Diskeeper di Executive Software, una società nata per risolvere i problemi di frammentazione e che oggi produce anche altre utility che facilitano la vita a utenti e system administrator.
Qui sorvoliamo suii dettagli del funzionamento di Diskeeper; in ogni caso il sito europeo di Executive Software mette a disposizione le versioni di prova gratuite di Diskeeper e di altri programmi.
Diskeeper prima della deframmentazione
Una partizione frammentata persino nel file di paging (in giallo)

Diskeeper dopo la deframmentazione in Windows
Per ricompattare il file di paging occorre uscire da Windows
Pianificazione delle operazioni all'avvio
Diskeeper permette di deframmentare, in fase di avvio, le directory, il file di paging e la Master File Table NTFS
Deframmentazione durante l'avvio

Risultato finale
In questo esempio non resta neppure un file frammentato e lo spazio libero è pressoché contiguo

L’utility di deframmentazione contenuta in Windows XP (selezione del disco in Risorse del computer, clic destro, Proprietà, Strumenti, Esegui Defrag) è anch’essa stata scritta da Executive Software, ma oltre a essere manuale, non dispone delle funzioni più sofisticate che permettono di deframmentare le aree di sistema, come il paging file e la Master File Table NTFS, la cui frammentazione è un fattore critico per le prestazioni generali del sistema.
E’ abbastanza efficace se Windows XP è stato installato in una partizione NTFS appena formattata. Tuttavia la versione commerciale di Diskeeper, oltre a essere altamente affidabile (viene usata anche sui server con RAID), ha un prezzo irrisorio (poche decine di euro) rispetto ai benefici in termini di tempo ed efficienza.
Un’ultima considerazione sui tempi necessari per deframmentare un disco: Diskeeper è di gran lunga il più rapido tra i programmi provati, ma alla prima deframmentazione di un disco molto frammentato può richiedere un discreto lasso di tempo. In compenso Diskeeper funziona dietro le quinte senza impedire l’utilizzo del computer. Se installato subito dopo Windows XP su una partizione pulita, con attivata la deframmentazione automatica, Diskeeper risulta invisibile per la maggior parte del tempo.
In commercio ci sono altri deframmentatori, ma quelli che fanno parte delle suite di utility (come Norton SystemWorks e Ontrack SystemSuite, oggi Vcom SystemSuite) sono nettamente inferiori a Diskeeper; un prodotto concorreente di Diskeeper, PerfectDisk 2000 di Raxco Software, potrebbe risultare interessante, ma è pressoché sconosciuto al grande pubblico e assente nel mercato di massa.
|