Waarom Linux geen defragmentatie nodig heeft
Als je een Linux-gebruiker bent, heb je waarschijnlijk gehoord dat je je Linux-bestandssystemen niet hoeft te defragmenteren. Je zult ook opmerken dat Linux-distributies niet met hulpprogramma's voor het defragmenteren van schijven worden geleverd. Maar waarom is dat zo?
Om te begrijpen waarom Linux-bestandssystemen niet bij normaal gebruik hoeven te worden gedefragmenteerd - en Windows-bestanden - moet je begrijpen waarom fragmentatie optreedt en hoe Linux- en Windows-bestandssystemen anders werken dan anderen.
Welke fragmentatie is
Veel Windows-gebruikers, zelfs onervaren, zijn van mening dat het regelmatig defragmenteren van hun bestandssystemen hun computer zal versnellen. Wat veel mensen niet weten is waarom dit is.
Kort gezegd, een harde schijf heeft een aantal sectoren, die elk een klein stukje gegevens kunnen bevatten. Bestanden, met name grote bestanden, moeten in een aantal verschillende sectoren worden opgeslagen. Stel dat u een aantal verschillende bestanden in uw bestandssysteem opslaat. Elk van deze bestanden wordt opgeslagen in een aaneengesloten cluster van sectoren. Later, update je een van de bestanden die je oorspronkelijk hebt opgeslagen, waardoor de bestandsgrootte wordt vergroot. Het bestandssysteem probeert de nieuwe delen van het bestand direct naast de originele delen op te slaan. Helaas, als er niet voldoende ononderbroken ruimte is, moet het bestand in meerdere stukken worden gesplitst - dit gebeurt allemaal transparant voor u. Wanneer uw harde schijf het bestand leest, moeten de hoofden tussen verschillende fysieke locaties op de harde schijf heen en weer springen om elk stukje sectoren te lezen - dit vertraagt de dingen.
Defragmenteren is een intensief proces waarbij de bits van bestanden worden verplaatst om fragmentatie te verminderen, zodat elk bestand aan de schijf grenst.
Dit is natuurlijk anders voor solid-state schijven, die geen bewegende delen hebben en niet mogen worden gedefragmenteerd - het defragmenteren van een SSD zal de levensduur ervan eigenlijk verkorten. En, in de nieuwste versies van Windows, hoeft u zich geen zorgen te maken over het defragmenteren van uw bestandssystemen - Windows doet dit automatisch voor u. Lees dit artikel voor meer informatie over de beste procedures voor het defragmenteren:
HTG legt uit: moet je echt je pc defragmenteren?
Hoe Windows File Systems werkt
Het oude FAT-bestandssysteem van Microsoft - voor het laatst standaard te zien op Windows 98 en ME, hoewel het nog steeds wordt gebruikt op USB-flashstations van vandaag - probeert niet om bestanden op intelligente wijze te rangschikken. Wanneer u een bestand opslaat in een FAT-bestandssysteem, wordt het zo dicht mogelijk bij het begin van de schijf opgeslagen. Wanneer u een tweede bestand opslaat, wordt het meteen na het eerste bestand opgeslagen - en zo verder. Wanneer de originele bestanden groter worden, zullen ze altijd gefragmenteerd raken. Er is geen kamer in de buurt waar ze in kunnen groeien.
Het nieuwere NTFS-bestandssysteem van Microsoft, dat zijn weg vond naar consumenten-pc's met Windows XP en 2000, probeert een beetje slimmer te zijn. Het wijst meer "buffer" vrije ruimte toe rond bestanden op de schijf, hoewel, zoals elke Windows-gebruiker je kan vertellen, NTFS-bestandssystemen nog steeds gefragmenteerd raken in de tijd.
Vanwege de manier waarop deze bestandssystemen werken, moeten ze worden gedefragmenteerd om topprestaties te kunnen leveren. Microsoft heeft dit probleem verlicht door het defragmentatieproces op de achtergrond uit te voeren op de nieuwste versies van Windows.
Hoe Linux-bestandssystemen werken
Linux's ext2, ext3 en ext4 bestandssystemen - ext4 is het bestandssysteem dat wordt gebruikt door Ubuntu en de meeste andere huidige Linux-distributies - wijst bestanden op een meer intelligente manier toe. In plaats van meerdere bestanden bij elkaar op de harde schijf te plaatsen, verspreiden Linux-bestandssystemen verschillende bestanden over de hele schijf, waardoor er een grote hoeveelheid vrije ruimte tussen de schijf overblijft. Wanneer een bestand wordt bewerkt en moet groeien, is er meestal voldoende vrije ruimte voor het bestand om in te groeien. Als er fragmentatie optreedt, probeert het bestandssysteem de bestanden te verplaatsen om fragmentatie bij normaal gebruik te verminderen, zonder dat een hulpprogramma voor defragmentatie nodig is.
Vanwege de manier waarop deze aanpak werkt, zul je fragmentatie zien als je bestandssysteem volraakt. Als het voor 95% (of zelfs 80%) vol is, begin je wat fragmentatie te zien. Het bestandssysteem is echter ontworpen om fragmentatie bij normaal gebruik te voorkomen.
Als je problemen hebt met fragmentatie onder Linux, heb je waarschijnlijk een grotere harde schijf nodig. Als je een bestandssysteem echt moet defragmenteren, is de eenvoudigste manier waarschijnlijk de meest betrouwbare: kopieer alle bestanden van de partitie, wis de bestanden van de partitie en kopieer de bestanden terug naar de partitie. Het bestandssysteem wijst de bestanden op intelligente wijze toe terwijl u ze terug naar de schijf kopieert.
Je kunt de fragmentatie van een Linux-bestandssysteem meten met de fsck-opdracht - zoek naar "niet-aangrenzende inodes" in de uitvoer.