Devo deframmentare i filesystem unix?


24

So che i file system di Windows sono molto sensibili alla frammentazione e Unix come UFS, ZFS, ext3 o ext4 non sono così sensibili.

Ma c'è qualche motivo per deframmentare questi filesystem?

In tal caso, quali strumenti sono disponibili per questo?


La maggior parte dei file system moderni in generale non deve essere deframmentata manualmente. Ciò include ext3, NTFS, UFS e altri.
Chris S,

3
Chris, non posso commentare gli altri, ma NTFS sicuramente beneficia della deframmentazione. Riduce notevolmente il colpo di testa causato dalla frammentazione e di conseguenza migliora i tempi di risposta.
John Gardeniers,

@JohnGardeniers Ogni FS che supporta la frammentazione trarrà beneficio dalla deframmentazione. Tuttavia, non è necessario e il degrado delle prestazioni dovuto alla frammentazione è limitato rispetto ai file system meno recenti.
Chris S,

Risposte:


15

Citando la pagina di Wikipedia sul filesystem Ext3

I moderni filesystem Linux mantengono al minimo la frammentazione mantenendo vicini tutti i blocchi di un file, anche se non possono essere archiviati in settori consecutivi. Alcuni filesystem, come ext3, allocano efficacemente il blocco libero più vicino ad altri blocchi in un file. Pertanto non è necessario preoccuparsi della frammentazione in un sistema Linux


La frammentazione si aggiunge però ... Sto provando a scuotere, come suggerito da Gert di seguito.
blu del

9

In realtà, NTFS non è così sensibile alla frammentazione. NTFS è significativamente migliore di FAT32 - in ogni modo - ed è un filesystem completamente moderno.

Gestisco Linux a casa dal 1996 e non ho mai deframmentato alcun filesystem. Non ne ho mai avuto bisogno. Il massimo che ho fatto in questa direzione è stato prestare attenzione al tipo di file che metterò su un filesystem e usando le opzioni appropriate quando lo farò mkfs. Ad esempio, se un filesystem conterrà principalmente file di grandi dimensioni, userò una dimensione di blocco maggiore. Se sto creando un enorme file system ma so che non avrà mai più di 1.000.000 di file, userò l' -N 1000000opzione per limitare il numero di inode. In generale, sintonizzerò il filesystem al momento della creazione sul suo compito se un particolare tipo di file lo abiterà.


6

Non è necessario deframmentare no. Ma se vuoi ancora farlo, puoi sempre usare lo shake .


3

Mentre ext2 ed ext3 non lo forniscono (e generalmente ne hanno meno bisogno in quanto mantengono i file relativamente insieme in primo luogo) ext4 provvede alla deframmentazione . Questo articolo parla del programma e4defrag. Ext4 è un nuovo filesystem.

Tuttavia, rispetto ai file system di Windows Linux sono molto meglio a non frammentare, quindi non mi preoccuperei.


1
ext2 ed ext3 possono essere deframmentati. Semplicemente non ne hanno bisogno in circostanze normali.
Eddie,

tieni presente che Windows FS non ha mai avuto bisogno di essere deframmentato - NT3.51 usato per allocare spazio su entrambi i lati dei blocchi proprio come fa ext3, ma MS ha scartato quello in NT4 per qualche motivo.
gbjbaanb,


1

L'unico buon motivo per deframmentare il filesystem di Linux è ridurre i dischi rigidi virtuali che si sono gonfiati.

Zero riempire lo spazio inutilizzato, deframmentare e quindi compattare il disco virtuale dal gestore VM.


1

È possibile deframmentare il file system XFS (usando xfs_fsr [dev|file]) e btrfs (usandobtrfs filesystem defragment [file]

Come per tutti gli altri, assicurati di avere almeno l'80% libero o qualche dozzina di gigabyte (a seconda di quale sia più piccolo) e non dovresti preoccuparti della deframmentazione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.