Každý uživatel systému Windows ví, že existuje defragmentace disku. Je nutné, aby pevný disk fungoval rychle, a je nutné defragmentovat disk, na kterém je nainstalován operační systém. Souborový systém Ext4 v systému Linux není náchylný k fragmentaci. V praxi je však známo, že v případě dlouhodobé práce se systémem se určitá fragmentace nahromadí. Dále si podrobně povíme, jak správně defragmentovat disk v systému Linux. Za tímto účelem budeme uvažovat příklad souborového systému Ext4.
Co je to fragmentace? Podívejme se na teorii: pevný disk se skládá z velkého množství malých sektorů, z nichž každý uchovává malý kousek dat. Velké soubory jsou rozděleny na několik menších fragmentů.
Ext4 však nefragmentuje jako jiné souborové systémy, protože přiděluje místo až po zapsaném souboru. A i když dojde k fragmentaci, snaží se soubor přesunout do volného místa. K fragmentaci dochází, když je souborový systém plný, ale to se stává jen zřídka.
Disky SSD defragmentaci nepotřebují. Nejsou na nich žádné pohyblivé části.
Když uživatel zapíše soubor v systému FAT nebo NTFS, je pro tuto operaci alokováno určité množství prostředků, poté jsou zapsány další soubory. Pokud je nutné soubor aktualizovat a přidat k němu informace, použijí se jiné sektory v jiné části disku.
Při velkém počtu takových souborů může být soubor rozložen po celém disku, což znamená, že v případě takové operace, jako je čtení, bude muset dojít k přesunu čtecí hlavy, a to zpomalí výkon. Právě v tom spočívá fragmentace.
Pomocí nástroje fsck
vyhodnotíte, jak je disk fragmentovaný. Předejte parametr -f
. Chcete-li zabránit větším změnám v souborovém systému, použijte parametr -n:
$ sudo fsck -fn /dev/sdb1
/dev/sdb1
je ověřovací oddíl. Kontrolu neprovádějte na připojeném systému, narazíte na falešné chyby, pokud se se souborovým systémem neprovádějí žádné akce, nedojde k poškození. S provedením defragmentace vám pomůže nástroj e4defrag
, který se nachází ve složce e2fsprogs
.
Pokud tuto sadu nástrojů ještě nemáte nainstalovanou, nainstalujte ji příkazem:
$ sudo apt install e2fsprogs
Dále je k dispozici defragmentace požadovaného oddílu. Stejný /dev/sdb1
. Připojíme oddíl před defragmentací:
$ sudo mount /dev/sdb1 /mnt
Poté provedeme defragmentaci oddílu Ext4:
$ sudo e4defrag /dev/sdb1
Dále můžete opět zkontrolovat fragmentaci. Předtím oddíl odpojíme. Fragmentace 0 %:
$ sudo fsck -fn /dev/sdb1
To je vše. Neztrácejte čas jen defragmentací disků SSD. Nepotřebují to.