domenica 17 luglio 2011

Deframmentare o non deframmentare....in Linux?

Deframmentare o non deframmentare, questo è il dilemma...ma in Linux intendo.

 O meglio, era uno dei miei dilemmi quando mi sono avvicinato a Linux. Infatti, da bravo utente Microsoft, ero abituato a deframmentare il filesystem con regolarità: se non lanciavo come minimo un defrag al mese cominciavo a notare pesanti rallentamenti.
Per Windows avevo “scoperto” il favoloso software O&O Defrag (tra l'altro a pagamento), nulla di paragonabile a qualsiasi altro prodotto similare che abbia mai provato.

Per Linux ho invece scoperto… lo stesso Linux
Il filesystem di Linux, in genere ext3, è talmente ben organizzato che non necessita di deframmentazione. 


Detto in parole povere (non me ne vogliano gli esperti), quando il sistema operativo cerca di scrivere un file sul disco, viene allocato (predisposto) un apposito spazio per contenere tale file. Se lo spazio non è sufficiente il file dovrà essere “spezzato” in più parti (frammentato) per essere allocato in diversi spazi (spazi che saranno appunto non contigui). Con il multitasking abbiamo tanti programmi che operano (e scrivono file) in simultanea: è quindi facile che alcuni file si “accavallino”. 

Su sistemi Linux questo rischio è però notevolmente ridotto: Linux prima di scrivere un file cerca infatti uno spazio libero che sia sufficiente a contenerlo.

Volendo esistono comunque dei programmi per deframmentare il disco su Linux ma sono pochi e non molto funzionali.
Esiste defrag ma per utilizzarlo occorre applicare una patch al kernel.
C’è poi “e2defrag” però, come dice il nome stesso, funziona solo su filesystem ext2: bisognerebbe quindi convertire il nostro filesystem ext3 in ext2 prima di utilizzare tale programma.
Poi c'e  Shake: questo tool permette di deframmentare lo userspace (la directory home tanto per intenderci).
Comunque un vero programma che permetta di deframmentare Linux con efficienza, senza problemi e in sicurezza, attualmente non esiste. E forse un motivo ci sarà…
Se siete curiosi di conoscere il livello di frammentazione del vostro filesystem avete comunque una possibilità. In teoria potete digitare in un terminale il comando “fsck ext3 -f -v” e leggere la risposta alla riga “non-contiguous”; in pratica è sconsigliato eseguire il controllo del filesystem quando questo è montato. Limitatevi quindi a controllare il messaggio che appare durante il controllo periodico. Ricordo a questo proposito che il filesystem viene controllato periodicamente ogni X accensioni (il valore X è impostabile tramite il comando “tune2fs -c”).

Nessun commento:

Posta un commento