Elke Windows-gebruiker is bekend met het feit dat er een schijfdefragmentatie bestaat. Het is nodig om de harde schijf snel te laten werken en het is nodig om de schijf waarop het besturingssysteem is geïnstalleerd te defragmenteren. Het Ext4 bestandssysteem in Linux is niet gevoelig voor fragmentatie. Maar in de praktijk is het bekend dat bij langdurig gebruik van het systeem er fragmentatie optreedt. Vervolgens zullen we je in detail vertellen hoe je een schijf op de juiste manier kunt defragmenteren in Linux. Om dit te doen, zullen we kijken naar het voorbeeld van het Ext4 bestandssysteem.
Wat is fragmentatie? Laten we eens kijken naar de theorie: een harde schijf bestaat uit een groot aantal kleine sectoren, die elk een klein stukje data opslaan. Grote bestanden worden verdeeld in meerdere kleinere fragmenten.
Maar Ext4 fragmenteert niet zoals andere bestandssystemen, omdat het ruimte toewijst na het geschreven bestand. En zelfs als er fragmentatie optreedt, probeert het het bestand naar de vrije ruimte te verplaatsen. Fragmentatie treedt op als het bestandssysteem vol is, maar dit is zelden het geval.
SSD-schijven hoeven niet gedefragmenteerd te worden. Er zijn geen bewegende delen.
Wanneer een gebruiker een bestand in een FAT- of NTFS-systeem schrijft, wordt een bepaalde hoeveelheid bronnen toegewezen voor deze bewerking, waarna de volgende bestanden worden geschreven. Als het nodig is om het bestand bij te werken en er informatie aan toe te voegen, worden andere sectoren in een ander deel van de schijf gebruikt.
Wanneer er een groot aantal van dergelijke bestanden zijn, kan het bestand over de hele schijf worden verdeeld, wat betekent dat bij een dergelijke bewerking als lezen de leeskop zal moeten worden verplaatst, en dit zal de prestaties vertragen. Dit is waar fragmentatie om draait.
Gebruik het hulpprogramma fsck
om te bepalen hoe gefragmenteerd de schijf is. Gebruik de -f
optie. Gebruik de -n optie om grote veranderingen in het bestandssysteem te voorkomen:
$ sudo fsck -fn /dev/sdb1
/dev/sdb1
is de verificatiepartitie. Voer de controle niet uit op een gemount systeem, u zult valse fouten tegenkomen, als er geen acties worden uitgevoerd op het bestandssysteem, zal er geen schade zijn. Het hulpprogramma e4defrag
zal je helpen bij het uitvoeren van defragmentatie, het bevindt zich in de map e2fsprogs
.
Als je deze set hulpprogramma's nog niet hebt geïnstalleerd, installeer het dan met het commando:
$ sudo apt install e2fsprogs
Vervolgens is defragmentatie van de gewenste partitie beschikbaar. Dezelfde /dev/sdb1
. Laten we de partitie mounten voor defragmentatie:
$ sudo mount /dev/sdb1 /mnt
Dan Ext4 defragmentatie:
$ sudo e4defrag /dev/sdb1
Vervolgens kun je de fragmentatie opnieuw controleren. Ontkoppel de partitie eerst. Fragmentatie 0%:
$ sudo fsck -fn /dev/sdb1
Dat is het. Verspil je tijd niet aan het defragmenteren van SSD-schijven. Ze hebben het niet nodig.