Metody płatności Abuse

Defragmentacja dysku w systemie Linux

23.10.2022, 02:33

Każdy użytkownik systemu Windows wie, że istnieje defragmentacja dysku. Aby dysk twardy działał szybko, konieczna jest defragmentacja dysku, na którym zainstalowany jest system operacyjny. System plików Ext4 w Linuksie nie jest podatny na fragmentację. Jednak w praktyce wiadomo, że w przypadku długotrwałej pracy z systemem, fragmentacja się kumuluje. Następnie opowiemy szczegółowo o tym, jak prawidłowo defragmentować dysk w systemie Linux. Aby to zrobić, przyjrzymy się przykładowi systemu plików Ext4.

Defragmentacja - co to jest? W prostych słowach o skomplikowanych rzeczach

Czym jest fragmentacja? Przyjrzyjmy się teorii: dysk twardy składa się z dużej liczby małych sektorów, z których każdy przechowuje niewielki fragment danych. Duże pliki są dzielone na kilka mniejszych fragmentów.

Ale Ext4 nie fragmentuje jak inne systemy plików, ponieważ przydziela miejsce po zapisanym pliku. A nawet jeśli dojdzie do fragmentacji, próbuje przenieść plik na wolne miejsce. Fragmentacja występuje, gdy system plików jest pełny, ale rzadko ma to miejsce.

Dyski SSD nie wymagają defragmentacji. Nie ma na nich żadnych ruchomych części.

Gdy użytkownik zapisuje plik w systemie FAT lub NTFS, na tę operację przydzielana jest pewna ilość zasobów, a następnie zapisywane są kolejne pliki. Jeśli konieczne jest zaktualizowanie pliku i dodanie do niego informacji, wykorzystane zostaną inne sektory w innej części dysku.

W przypadku dużej liczby takich plików, plik może być rozproszony po całym dysku, co oznacza, że w przypadku takiej operacji jak odczyt, konieczne będzie przesunięcie głowicy odczytu, a to spowolni wydajność. Na tym właśnie polega fragmentacja.

Jak działa defragmentacja w systemie Linux

Użyj narzędzia fsck, aby ocenić stopień fragmentacji dysku. Przekaż opcję -f. Użyj opcji -n, aby zapobiec poważnym zmianom w systemie plików:

$ sudo fsck -fn /dev/sdb1

Defragmentacja dysku w systemie Linux

/dev/sdb1 jest partycją weryfikacyjną. Nie wykonuj sprawdzenia na zamontowanym systemie, napotkasz fałszywe błędy, jeśli żadne działania nie zostaną wykonane na systemie plików, nie będzie żadnych uszkodzeń. Narzędzie e4defrag pomoże wykonać defragmentację, znajduje się ono w folderze e2fsprogs.

Jeśli nie masz jeszcze zainstalowanego tego zestawu narzędzi, zainstaluj go za pomocą polecenia:

$ sudo apt install e2fsprogs

Następnie dostępna jest defragmentacja wybranej partycji. To samo /dev/sdb1. Zamontujmy partycję przed defragmentacją:

$ sudo mount /dev/sdb1 /mnt

Defragmentacja dysku w systemie Linux

Następnie defragmentacja Ext4:

$ sudo e4defrag /dev/sdb1

Defragmentacja dysku w systemie Linux

Następnie można ponownie sprawdzić fragmentację. Przed tym należy odmontować partycję. Fragmentacja 0%:

$ sudo fsck -fn /dev/sdb1

To wszystko. Nie trać czasu na defragmentację dysków SSD. One tego nie potrzebują.