Всеки потребител на Windows е запознат с факта, че има дефрагментация на диска. Необходимо е твърдият диск да функционира бързо и е необходимо да се дефрагментира дискът, на който е инсталирана операционната система. Файловата система Ext4 в Linux не е предразположена към фрагментация. Но на практика е известно, че при продължителна работа със системата се натрупва известна фрагментация. По-нататък ще ви разкажем подробно за това как правилно да дефрагментирате диска в Linux. За целта ще разгледаме примера с файловата система Ext4.
Какво представлява фрагментацията? Нека разгледаме теорията: твърдият диск е съставен от голям брой малки сектори, като всеки от тях съхранява малка част от данните. Големите файлове се разделят на няколко по-малки фрагмента.
Но Ext4 не фрагментира като другите файлови системи, защото заделя място след записания файл. И дори ако възникне фрагментация, тя се опитва да премести файла в свободното пространство. Фрагментация се появява, когато файловата система е пълна, но това рядко се случва.
SSD дисковете не се нуждаят от дефрагментиране. В тях няма движещи се части.
Когато потребителят записва файл в система FAT или NTFS, за тази операция се отделя определено количество ресурси, след което се записват следващите файлове. Ако е необходимо да се актуализира файлът и да се добави информация към него, ще се използват други сектори в друга част на диска.
Когато има голям брой такива файлове, файлът може да бъде разпределен по целия диск, което означава, че в случай на такава операция като четене ще трябва да се премести четящата глава, а това ще забави производителността. Именно това е същността на фрагментацията.
Използвайте помощната програма fsck
, за да прецените колко фрагментиран е дискът. Подайте опцията -f
. Използвайте опцията -n, за да предотвратите големи промени във файловата система:
$ sudo fsck -fn /dev/sdb1
/dev/sdb1
е дялът за проверка. Не извършвайте проверката върху монтирана система, ще се сблъскате с фалшиви грешки, ако не се извършват никакви действия върху файловата система, няма да има повреди. Помощната програма e4defrag
ще ви помогне да извършите дефрагментация, тя се намира в папката e2fsprogs
.
Ако все още нямате инсталиран този набор от помощни програми, инсталирайте го с командата:
$ sudo apt install e2fsprogs
След това е налична възможност за дефрагментиране на желания дял. Същият /dev/sdb1
. Нека да монтираме дяла преди дефрагментирането:
$ sudo mount /dev/sdb1 /mnt
След това дефрагментиране на Ext4:
$ sudo e4defrag /dev/sdb1
След това можете отново да проверите фрагментацията. Преди това демонтирайте дяла. Фрагментация 0%:
$ sudo fsck -fn /dev/sdb1
Това е всичко. Не губете времето си само за дефрагментиране на SSD дискове. Те не се нуждаят от това.