Linux-bestandssystemen kunnen fragmenteren. Of defragmenteren zinvol is, hangt af van het bestandssysteem en de belasting. Met e4defrag -c kun je een ext4-doel beoordelen zonder het te wijzigen.

Fragmentatie betekent dat de blokken van een bestand verspreid over een opslagmedium staan. Bij een traditionele harde schijf kan dat extra mechanische zoektijd kosten. Een fragmentatiescore op zichzelf vertelt echter niet hoeveel sneller een schijf na defragmentatie wordt.

In dit artikel

Kan Linux fragmenteren?

Ja. Het vroege Ext-bestandssysteem raakte volgens het ext2-ontwerppaper gefragmenteerd toen de lijsten met vrije blokken en inodes ongeordend raakten. Een inode bevat de gegevens die een bestandssysteem over een bestand bijhoudt.

ext2 gebruikte blokgroepen om verwante inodes en gegevens bij elkaar te plaatsen. Bij het toewijzen van een blok reserveerde het systeem ook vooraf maximaal acht aangrenzende blokken. Het ontwerppaper meldt dat die preallocatie in ongeveer 75% van de gevallen doel trof, ook op zeer volle bestandssystemen. Dat zijn historische gegevens over ext2, geen actuele prestatiemeting van ext4.

ext4 controleren zonder bestanden te wijzigen

Engelstalige terminaldemonstratie van gotbletu: e4defrag -c / controleert ext4

Voer e4defrag -c uit met een bestand, map of aangekoppeld ext4-apparaat als doel. De optie -c controleert de fragmentatie en berekent een score; deze modus defragmenteert niets. De tool werkt met ondersteunde extent-bestanden op ext4. Swapbestanden, bestanden in lost+found en bestanden die indirecte blokken gebruiken vallen buiten de ondersteuning.

De score valt volgens de eigen indeling van e4defrag in drie bereiken:

  • 0–30 punten: geen probleem.
  • 31–55 punten: licht gefragmenteerd.
  • 56 punten of hoger: de tool geeft aan dat defragmentatie nodig is.

Ook nul valt dus in de categorie ‘geen probleem’. De score is geen percentage en vormt op zichzelf geen bewijs dat defragmenteren prestaties verbetert. Weinig of versnipperde vrije ruimte kan verbetering bovendien tegenhouden. Tijdens het defragmenteren kan de tool concurreren met actieve toepassingen om geheugen en schijfbandbreedte.

De Engelstalige terminaldemonstratie van gotbletu laat e4defrag -c / zien als controle van een ext4-bestandssysteem.

De aanpak verschilt per bestandssysteem

Gebruik niet zomaar een ext4-opdracht voor een ander bestandssysteem. De gedocumenteerde functies en voorwaarden lopen uiteen.

BestandssysteemLinux-functieBelangrijke voorwaarde
ext4e4defrag -c beoordeelt de fragmentatie; e4defrag kan ondersteunde extent-bestanden defragmenteren.De tool kan weinig of versnipperde vrije ruimte tegenkomen en concurreren met actieve toepassingen om systeembronnen.
BtrfsDe optie autodefrag zet herkende kleine, willekeurige schrijfacties in een wachtrij. De documentatie noemt een bereik van 64 KiB.Dit kan de leeslatentie verhogen en is mogelijk ongeschikt voor grote databasewerkbelastingen.
exFATdefrag.exfat -a beoordeelt de fragmentatie zonder wijzigingen; defrag.exfat voert de defragmentatie uit.Het volume moet zijn ontkoppeld. De handleiding adviseert vooraf fsck.exfat uit te voeren en belangrijke gegevens te back-uppen.
NTFSDe Linux-kerneldocumentatie en die van NTFS-3G beschrijven geen defragmentatieopdracht.De beschreven mogelijkheden zijn beperkt tot die documentatie.

Bij exFAT voegde exfatprogs defrag.exfat toe in versie 1.3.0, die de beheerder op 15 oktober 2025 aankondigde. Zorg bij gebruik voor een ontkoppeld volume en volg de aanbevelingen van de handleiding voordat je de bestanden wijzigt.

Harde schijf, SSD en TRIM

De klassieke reden om een harde schijf te defragmenteren is het beperken van de mechanische zoektijd tussen verspreide blokken. Een SSD heeft geen roterende schijf en dus geen mechanische zoektijd. Dat onderscheid maakt het type opslag relevant, maar levert geen universele regel op voor elke defragmentatiebewerking.

TRIM, ook discard genoemd, is iets anders dan bestanden defragmenteren. Behandel het daarom niet als dezelfde onderhoudsactie. Kijk eerst welk bestandssysteem je gebruikt; voor ext4 kun je vervolgens met e4defrag -c beoordelen wat de tool rapporteert, zonder dat de controle zelf bestanden wijzigt.