Creare sparse files, con lunghezza a piacere in Windows e Linux

Un file sparso (dall’inglese sparse file), è un tipo di file per cui si cerca di occupare in maniera più efficiente lo spazio del file system nei casi in cui il file sia prevalentemente vuoto.

Il vantaggio dei file sparsi consiste nel fatto che lo spazio fisico nel file system viene allocato solo quando è effettivamente necessario: si risparmia spazio e si possono creare file di grandi dimensioni anche se lo spazio libero nel file system è insufficiente.

Tra gli svantaggi dell’uso di file sparsi:

Essi possono diventare frammentati, in quanto lo spazio nel file system viene allocato a mano a mano che le aree vuote sono riempite, e quindi non è necessariamente contiguo. Le informazioni sullo spazio libero nel file system possono essere fuorvianti se si considera la dimensione apparente dei file sparsi.

Uso

Un uso tipico dei file sparsi è per il testing delle connessioni di rete o per i benchmark degli hard disk: si creano file di grandi dimensioni con un semplice comando, che poi saranno utilizzati per capire la velocità di copia/trasferimento dei vari dispositivi.

Creazione su Windows

Da prompt dei comandi, dirigersi in una cartella

cd C:

eseguire il comando

fsutil file createnew <filename> <length>

la lunghezza deve essere inserita in Byte, esempio

fsutil file createnew myfile.txt 1000000000
(=1GB)

fsutil file createnew myfile.txt 2500000000
(=2.5 GB)

Creazione su Linux

dd if=$INPUT-FILE of=$OUTPUT-FILE bs=$BLOCK-SIZE count=$NUM-BLOCKS

Dove:

$INPUT-FILE deve sempre essere /dev/zero per file di grandi dimensioni (vuoti).
La dimensione totale del file sparso sarà $BLOCK-SIZE * $NUM-BLOCKS.
Il nuovo file sarà chiamato come $OUTPUT-FILE.

Esempio:

dd if=/dev/zero of=file_sparso bs=1024 count=1

bs è la dimensione di uscita in Byte.

 

Share on Social Media