Prawdopodobnie wiesz, czym jest journaling. Jest on potrzebny w systemach plików, aby można było odzyskać system plików w przypadku awarii. Jest to szczególnie przydatne w przypadkach, gdy operacje zapisu danych były w toku w momencie awarii.
Wiadomo, że gdy zapis jest niekompletny, system plików pozostanie w stanie uszkodzonym i nie będzie można go zamontować. Jeśli włączysz rejestrowanie, fsck będzie w stanie wykonać sprawdzenie podczas uruchamiania systemu i przywrócić stan z dziennika. Następnie zobaczmy jak wyłączyć logowanie w Ext4.
Jak sprawdzić, czy logowanie jest włączone dla konkretnej partycji dysku? Wykonaj:
$ sudo dumpe2fs /dev/nvme0n1p5 | grep has_journal
Zobacz /dev/nvme0n1p5
- plik partycji. Może on mieć inną nazwę. Jeśli jest has_journal
w linii Filesystem Features, to dziennik jest włączony. Jeśli jest włączony i wszystko działa. Wyłączenie dziennika systemu plików odbywa się w ten sposób:
$ sudo tune2fs -O ^has_journal /dev/nvme0n1p5
Jeśli nie chcesz wyłączać journalingu, ale nadal chcesz, aby system był bardziej wydajny, włącz tryb writeback
. Następnie żadne dane nie będą zapisywane w dzienniku, z wyjątkiem metadanych.
Dane są najpierw zapisywane na dysku, po czym operacja jest rejestrowana. Ext4 wykazuje najlepszą wydajność w tym trybie pracy.
Zróbmy to:
$ sudo tune2fs -o journal_data_writeback /dev/nvme0n1p5
Jak przywrócić tryb journalingu? Aby to zrobić, można wykonać:
$ sudo tune2fs -o journal_data_ordered /dev/nvme0n1p5
Podobnie jak w przypadku trybu writeback , /etc/fstab
może być aktywowany przez użytkownika. W opcjach montowania partycji dodaj data=writeback
:
$ sudo vi /etc/fstab
Czy jest jakiś inny sposób na zwiększenie wydajności? Tak, należy dodać opcję noatime
, która wyłącza aktualizację pola ostatnio używanego pliku. Zmniejszy to liczbę dostępów do dysku, ale wydłuży żywotność dysku SSD.