Dimensione: 2824
Commento: corretti alcuni spazi
|
Dimensione: 2971
Commento: Aggiunto url sorgente e download dello script
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 88: | Linea 88: |
== Collegamenti == * Download dello script: attachment:fragck.pl * Documento originale: http://forums.gentoo.org/viewtopic-p-3081971.html |
Controllare lo stato di frammentazione del File System
Lo script descritto di seguito, che fa un uso iterativo del comando filefrag, permette di verificare lo stato di frammentazione del vostro file system, restituendo i seguenti dati:
- percentuale di file non contigui
- numero medio di frammenti per file
E' ovvio che minori sono questi valori, migliori saranno le prestazioni del vostro file system. Lo script è stato testato su file system Ext3 e RaiserFS, ma dovrebbe funzionare su tutti i file system supportati dal comando filefrag.
Lo script, scritto in PERL:
#this script search for frag on a fs use strict; #number of files my $files = 0; #number of fragment my $fragments = 0; #number of fragmented files my $fragfiles = 0; #search fs for all file open (FILES, "find -xdev -type f |"); while (defined (my $file = <FILES>)) { #quote some chars in filename $file =~ s/!/\\!/g; $file =~ s/#/\\#/g; $file =~ s/&/\\&/g; $file =~ s/>/\\>/g; $file =~ s/</\\</g; $file =~ s/\$/\\\$/g; $file =~ s/\(/\\\(/g; $file =~ s/\)/\\\)/g; $file =~ s/\|/\\\|/g; $file =~ s/'/\\'/g; $file =~ s/ /\\ /g; #nb of fragment for the file open (FRAG, "filefrag $file |"); my $res = <FRAG>; if ($res =~ m/.*:\s+(\d+) extents? found/) { my $fragment = $1; $fragments+=$fragment; if ($fragment > 1) { $fragfiles++; } $files++; } else { print ("$res : not understand for $file.\n"); } close (FRAG); } close (FILES); print ( $fragfiles / $files * 100 . "% non contiguous files, " . $fragments / $files . " average fragments.\n");
nella vostra directory home, o in qualsiasi altra directory del vostro utente, create il file che conterrà lo script con il comando:
gedit fragck.pl
nell'editor di testo copiato lo script, e salvate il file.
A questo punto, è necessario dare i permessi di esecuzione al file appena creato:
chmod u+x fragck.pl
A questo punto, eseguite lo script con i permessi di root tramite sudo:
sudo fragck.pl
E dopo pochi secondi, avrete lo stato del vostro file system:
11.4397649363369% non contiguous files, 1.62370225269344 average fragments
NB: Il filesystemExt3 tiene sotto controllo il problema della frammentazione, quindi normalmente dovreste avere risultati con valori molto bassi. RaiserFS invece tende a frammentare i file, quindi questo script permette di tenere sotto controllo la situazione del file system e le sue prestazioni
Collegamenti
- Download dello script: attachment:fragck.pl
Documento originale: http://forums.gentoo.org/viewtopic-p-3081971.html