Czy TRIM jest włączony w mojej instalacji Ubuntu 18.04?

38

Wiem, że cotygodniowe TRIM jest domyślnie włączone od 14.10. Źródło: Jak włączyć TRIM? Ale uruchomienie sudo nano /etc/cron.weekly/fstrimzwraca pusty plik. tail -n1 /etc/cron.weekly/fstrimMówi także , że ten plik nie istnieje.

Uruchamianie lsblk -DPrzywraca niezerowej wartości DISC-GRAN, a DISC-MAX więc TRIM jest obsługiwana w moim SSD. Czy cotygodniowe TRIM jest faktycznie włączone dla mojego dysku SSD, czy nie?

Używam dysku SSD firmy Kingston

m.umar
źródło

Odpowiedzi:

59

Trim (fstrim / discard) jest domyślnie włączony co tydzień w 18.04.
Jest ustawiony do działania dla wszystkich zamontowanych systemów plików na urządzeniach obsługujących operację odrzucania.

Jest to systemdusługa zarządzana za pośrednictwem systemctl, a nie CRON.

Wyświetl status fstrim.timer :

$ systemctl status fstrim.timer
● fstrim.timer - Discard unused blocks once a week
   Loaded: loaded (/lib/systemd/system/fstrim.timer; enabled; vendor preset: enabled)
   Active: active (waiting) since Thu 2018-07-05 05:45:11 BST; 4h 42min ago
  Trigger: Mon 2018-07-09 00:00:00 BST; 3 days left
     Docs: man:fstrim

Start / Stop / Restart fstrim.timer :
(nie zmienia statusu uruchamiania)

$ sudo systemctl [start/stop/restart] fstrim.timer

Włącz / wyłącz plik fstrim.timer :
(dodaj / usuń ze startu, nie zmienia obecnego statusu)

$ sudo systemctl [enable/disable] fstrim.timer

Wyświetl konfigurację fstrim.timer :

$ systemctl cat fstrim.timer
# /lib/systemd/system/fstrim.timer
[Unit]
Description=Discard unused blocks once a week
Documentation=man:fstrim

[Timer]
OnCalendar=weekly
AccuracySec=1h
Persistent=true

[Install]
WantedBy=timers.target

Wyświetl konfigurację fstrim.service :

$ systemctl cat fstrim.service
# /lib/systemd/system/fstrim.service
[Unit]
Description=Discard unused blocks

[Service]
Type=oneshot
ExecStart=/sbin/fstrim -av

Uwaga : ExecStart = / sbin / fstrim -av
Gdzie:
-a , Przytnij wszystkie zamontowane systemy plików na urządzeniach obsługujących operację odrzucania .
-v , pełne wykonanie. Wyjście liczby bajtów przekazanych z systemu plików w dół stosu bloków do urządzenia w celu potencjalnego odrzucenia.

Zobacz powiązane wpisy dziennika systemowego :

$ journalctl -u fstrim.timer
Jul 04 14:18:41 user-laptop systemd[1]: Started Discard unused blocks once a week.
Jul 04 21:59:26 user-laptop systemd[1]: Stopped Discard unused blocks once a week.
etc...

$ journalctl -u fstrim.service
Jun 25 10:59:44 user-laptop systemd[1]: Starting Discard unused blocks...
Jun 25 10:59:48 user-laptop fstrim[955]: /: 92.5 GiB (99335237632 bytes) trimmed
Jun 25 10:59:48 user-laptop systemd[1]: Started Discard unused blocks.
-- Reboot --
Jul 02 04:27:41 user-laptop systemd[1]: Starting Discard unused blocks...
Jul 02 04:27:46 user-laptop fstrim[1032]: /: 92.3 GiB (99150807040 bytes) trimmed
Jul 02 04:27:46 user-laptop systemd[1]: Started Discard unused blocks.
etc...
Pałasz
źródło
2
Dla porównania, kiedy jest kontrolowane przez /lib/systemd/system/fstrim.timer( OnCalendar=weekly), a co przez /lib/systemd/system/fstrim.service( ExecStart=/sbin/fstrim -av).
Moilleadóir
1
Świetny post! Sugeruję zmianę poleceń „cat” za pomocą dedykowanych poleceń systemctl: cat /lib/systemd/system/fstrim.timer -> systemctl cat fstrim.timer. Ogólnie rzecz biorąc, to polecenie pokazuje wersję usługi, która obowiązuje. Może to być wersja pod / lib / systemd, ale może to być również zmodyfikowana wersja pod / etc / systemd.
wanad
Kiedy jest aktywny, czy robi to dla wszystkich sterowników? Na przykład mam zainstalowany Ubuntu na jednym dysku SSD, ale mam inny dysk SSD zamontowany jako partycja ext4. Czy przycina oba automatycznie? (status mówi, że jest aktywny)
Eduardo
jak aktywować na żądanie? (na przykład teraz chcę iść na lunch)
razor
Możesz ręcznie uruchomić / zatrzymać / zrestartować dowolną usługę systemową za pomocą: $ sudo systemctl [start / stop / restart] [nazwa usługi]. Usługa
Broadsworde
2

Edycja: Proszę przeczytać komentarze, ta odpowiedź łączy dwa mechanizmy!

Stara odpowiedź

istnieje ważny punkt, który należy dodać do odpowiedzi @Broadsworde, aby była kompletna.

Podczas gdy na moim laptopie wszystkie timery i usługi były włączone, brakowało wpisu dziennika fstrim (tylko: starting… stopping… reboot… starting…itp.).

Brakujący krok

Konieczne może być oznaczenie systemów plików jako odrzucalnych . Jeśli system plików nie jest oznaczony jako odrzucalny, przycinanie go pominie [1].

Aby oznaczyć system plików jako odrzucalny, masz dwie opcje:

1. Opcja: tune2fs

sudo tune2fs -o discard /dev/mapper/ubuntu--vg-root

Spowoduje to ustawienie opcji odrzucania jako domyślnej dla mojego urządzenia ext4. Jeśli nie używasz szyfrowania, spróbuj /dev/sdazamiast tego.

2. Opcja: /etc/fstab

Pamiętaj, aby dodać lub dołączyć opcję discarddo istniejących opcji montowania. Na przykład tak:

/dev/mapper/ubuntu--vg-root / ext4 discard,relatime,errors=remount-ro 0 1

Dopiero potem usługa timera naprawdę coś zrobi.

Przypisy

  • [1] tak naprawdę urządzenie musi obsługiwać TRIMoperację. Ale w systemie Linux jest to flaga systemu plików. Mimo to urządzenie, na którym działa system plików, musi obsługiwać tę TRIMoperację. Aby sprawdzić, czy urządzenie obsługuje tę funkcję, przeznaczenie: sudo hdparm -I /dev/sda | grep -i TRIM.
Ben
źródło
W mojej instalacji (pierwotnie 18,10; później przeniesieni do 19.04) systemy plików nie mają odrzutu opcja włączona. Używam tylko SSD w moim systemie; i nigdy nie miał żadnego mechanicznego HD. Włączyłem je z tune2fs . Wszelkie pomysły lub wyjaśnienie, dlaczego system domyślnie ich nie włączał?
FedonKadifeli
1
Nie sądzę, żeby to było poprawne. Opcja odrzucania przycina bloki, gdy pliki są usuwane z systemu plików. Usługa systemd okresowo przycina nieużywane bloki w systemie plików. To są różne rzeczy. Opcja odrzucenia może negatywnie wpłynąć na wydajność niektórych systemów, więc okresowa jest prawdopodobnie lepsza.
xioxox
1
@xioxox ma rację. Ostatni mount„s strona mężczyzna stwierdza, że « Kwestie funkcyjne odrzutów częste komendy pozwolić przestrzeń reklamacji urządzenie blokowe uwolniony przez system plików. [...] może mieć znaczący wpływ na wydajność . (Polecenie fstrim jest także dostępne do inicjowania przycinania partii z przestrzeni użytkownika.) »
Fabio A.,
Dzięki, edytowałem odpowiedź zgodnie z tym. Proszę nie głosować dalej na tę odpowiedź: chcę ją zachować, ponieważ wasze komentarze są cenne!
Ben