Kompresja systemu plików w Windows i Linux
Dyski twarde są coraz pojemniejsze - i jest to prawda. Nawet mój "nowy" laptop ma 1TB pamięci, ale przecież nie każdy użytkownik ma pojemny dysk lub na mało danych, a pomieścić je trzeba. Dzisiaj opowiem jak włączyć kompresję.
Czym jest kompresja?
Kompresja to algorytm komputerowy służący do zapisania danych na możliwie najmniejszej przestrzeni dyskowej. Mamy dwa rodzaje kompresji:
- Stratna, w której część danych jest tracona, dla przykładu w wysokiej jakości obrazie 3 bardzo podobne kolory można zapisać jako jeden i w ten sposób zapisać ogólną informację.
- Bezstratna, w której dane po dekompresji są takie same jak przed tym zabiegiem.
Kompresję oczywiście stosuje się nie tylko do zapisu danych na dyskach, ale również powszechnie w internecie, by ograniczyć ilość przesyłanych danych (co oszczędza pieniądze).
Windows
NTFS czyli domyślny system plików Microsoftu ma wbudowaną opcję kompresji, ale domyślnie wyłączoną. Nie jest ona tak imponująca jak Linuksowa, ale "daje radę". Aby ją włączyć należy wejść w Komputer.
Wybieramy dysk prawym przyciskiem myszy i dajemy właściwości
Zaznaczamy opcję "Kompresuj ten dysk, aby zaoszczędzić miejsce na dysku".
I Zastosuj.
Podczas kompresowania może wyskakiwać błąd (np. aplikacja jest wykorzystywana albo brak dostępu), naciskamy przycisk "Ignoruj wszystko" i idziemy sobie aż proces się nie skończy.
Brawo - kompresja włączona.
W moim przypadku (czystego Windowsa) 8.78GB udało się zrobić 8.69GB. Nie jest to dużo, ale należy pamiętać, że kompresja działa cały czas, czyli wgrywając pliki przepaść będzie się zwiększać jakby (czyli więcej miejsca zaoszczędzimy).
Linux
Nie każdy system plików wspiera kompresję dlatego warto tutaj zaopatrzyć się w system plików BTRFS, który taką obsługę posiada. Sam system plików jest dla wielu godnym następcą Ext4 i z czasem się przekonuję do niego (głównie za sprawą kompresji i wielu funkcji).
Krok 1 - Upewnij się, że partycja /boot jest na drugiej partycji
Jest to bardzo ważne zalecenie, by /boot (konfiguracja bootloadera i kernel) znajdowały się na niekompresowanym systemie plików, przez parę dni nie mogłem rozgryźć czemu po aktualizacji gruba system nie działa. Odpowiedź prosta - BTRFS kompresował konfigurację bootloadera, a ten nie mógł jej rozczytać, co powodowało awarię.
Krok 2 - Upewnij się, że masz jądro w wersji 4.14 lub nowszej
Osobiście preferuję najnowszej generacji algorytm ZStandard ("mocno" kompresuje, ale zarazem jest bardzo szybki). Jest to dość "świeża" rzecz i stare systemy (ze starym jądrem) mogą przestać działać.
Krok 3 - Wyedytuj /etc/fstab
Jest to przykładowy plik konfiguracyjny jak coś ;) Jako inspiracja
UUID=9781cacd-9c3f-40f5-9680-16666e425c64 / btrfs defaults 0 0
Mamy tutaj interesującą nas linię informującą gdzie w hierarchii katalogów znajduje się dysk twardy o identyfikatorze 97(...). Jeśli chcemy włączyć kompresję należy po defaults dać przecinek i wpisać compress=zstd
UUID=9781cacd-9c3f-40f5-9680-16666e425c64 / btrfs defaults,compress=zstd 0 0
Zapisać i zrestartować. Kompresja plików została włączona.
Nie spowoduje to na Windows, że aplikacje będą się dłużej uruchamiać ?
Posted using Partiko Android
Potencjalnie mogą się krócej uruchamiać jeśli dysk jest wolny. Natomiast różnicy wielkiej nie ma. Dodatkowo na próbę można kompresować np. aplikację (grę - jej katalog) jeśli loadingi są duże i samemu się przekonać
Jeśli dysk twardy jest powolny to kompresja go przyspieszy (mniej danych trzeba będzie odczytać z dysku). To nawet w niektórych przypadkach jest zauważalne gołym okiem. Szczególnie jeśli po kompresji popełni się jeszcze defragmentację. Kompresja daje jednak większy nakład pracy na procesor i baterię (czas pracy na baterii na laptopie). Mimo wszystko najczęściej spowolnienie procesora będzie marginalne, szczególnie jeśli nie będziemy kompresować plików, które są bardzo często czytane, ani tych które już są skompresowane (filmów, mp3 itp.).
Jeśli chodzi o BTRFS to warto dodać, że:
Profesjonalny opis :D Natomiast ogólnie masz rację.
Co do ZSTD - chyba jest najlepszy? Podobno Snappy też jest ciekawy, ale kompresja trwa długo
ZSTD najlepszy, choć też i najmłodszy. Niektórzy wolą jeszcze nie używać do ważnych danych w obawie przed nieodkrytymi jeszcze bugami. Inni obawiają się bugów w nowszych jądrach Linuksa (4.14 i nowsze), które jest wymagane aby mieć tę kompresję w BTRFS. Do domowych zastosowań myślę, że to najlepsza opcja, natomiast przy krytycznych serwerach firmy każdy wybór jednak musi być wiele razy przemyślany. ;)