Ist TRIM auf meiner Ubuntu 18.04-Installation aktiviert?

38

Ich weiß, dass wöchentliches TRIM ab 14.10 standardmäßig aktiviert ist. Quelle: Wie wird TRIM aktiviert? Beim Ausführen wird jedoch sudo nano /etc/cron.weekly/fstrimeine leere Datei zurückgegeben. tail -n1 /etc/cron.weekly/fstrimSagt auch , dass diese Datei nicht existiert.

Laufende lsblk -DErträge Nicht - Null - Werte für DISC-GRANund DISC-MAX so TRIM auf meiner SSD unterstützt. Ist die wöchentliche TRIM-Funktion für meine SSD aktiviert oder nicht?

Ich benutze eine Kingston SSD

m.umar
quelle

Antworten:

59

Trim (fstrim / discard) ist ab 18.04 standardmäßig für die wöchentliche Ausführung aktiviert .
Es ist so eingestellt, dass es für alle bereitgestellten Dateisysteme auf Geräten ausgeführt wird, die den Discard-Vorgang unterstützen.

Es ist ein systemdService, der über verwaltet wird systemctl, nicht über CRON.

Sehen Sie fstrim.timer Status :

$ 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 :
(ändert den Startstatus nicht)

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

Fstrim.timer aktivieren / deaktivieren :
(zum Start hinzufügen / daraus entfernen, ändert den aktuellen aktiven Status nicht)

$ sudo systemctl [enable/disable] fstrim.timer

Sehen Sie fstrim.timer Konfiguration :

$ 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

Sehen Sie fstrim.service Konfiguration :

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

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

Hinweis : ExecStart = / sbin / fstrim -av
Wobei:
-a , Alle gemounteten Dateisysteme auf Geräten kürzen , die den Discard-Vorgang unterstützen.
-v , Ausführliche Ausführung. Geben Sie die Anzahl der Bytes aus, die vom Dateisystem über den Blockstapel an das Gerät übertragen wurden, um sie möglicherweise zu verwerfen.

Verwandte systemd-Journaleinträge anzeigen :

$ 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...
Broadsworde
quelle
2
Als Referenz wird das Wann durch /lib/systemd/system/fstrim.timer( OnCalendar=weekly) und das Was durch /lib/systemd/system/fstrim.service( ExecStart=/sbin/fstrim -av) gesteuert .
Moilleadóir
1
Feiner Beitrag! Ich schlage vor, Sie ändern die "cat" -Befehle mit den dedizierten systemctl -Befehlen: cat /lib/systemd/system/fstrim.timer -> systemctl cat fstrim.timer. Im Allgemeinen zeigt dieser Befehl die Version des Dienstes an, der in Kraft ist. Das könnte die Version unter / lib / systemd sein, aber es könnte auch eine modifizierte Version unter / etc / systemd sein.
Vanadium
Wenn es aktiv ist, macht es das für alle Fahrer? Zum Beispiel habe ich Ubuntu auf einer SSD installiert, aber eine andere SSD als ext4-Partition gemountet. Wird es beide automatisch trimmen? (Status sagt, es ist aktiv)
Eduardo
Wie kann ich es bei Bedarf aktivieren? (zum Beispiel jetzt, ich möchte ein Mittagessen gehen)
Rasiermesser
Sie können jeden systemd-Dienst manuell starten / stoppen / neu starten mit: $ sudo systemctl [Start / Stopp / Neustart] [Dienstname] .service
Broadsworde
2

Edit: Bitte lest die Kommentare, diese Antwort vermischt zwei Mechanismen!

Alte Antwort

Es gibt einen wichtigen Punkt, der der Antwort von @Broadsworde hinzugefügt werden muss, um sie zu vervollständigen.

Während auf meinem Laptop alle Timer und Dienste aktiviert waren, fehlte der Eintrag fstrim log (nur: starting… stopping… reboot… starting…etc.).

Fehlender Schritt

Möglicherweise müssen Sie markieren die Dateisysteme als discardable . Wenn ein Dateisystem nicht als verwerfbar markiert ist, wird es vom Zuschnitt übersprungen [1].

Um ein Dateisystem als verwerfbar zu markieren, haben Sie zwei Möglichkeiten:

1. Option: tune2fs

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

Dadurch wird die Discard-Option für mein ext4-Gerät als Standard festgelegt. Wenn Sie keine Verschlüsselung verwenden, versuchen Sie es /dev/sdastattdessen.

2. Option: /etc/fstab

Stellen Sie sicher, dass Sie die Option discardIhren vorhandenen Mount-Optionen voranstellen oder anhängen . Zum Beispiel so:

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

Erst danach wird der Timer-Dienst wirklich etwas tun.

Fußnoten

  • [1] Eigentlich muss das Gerät den TRIMBetrieb unterstützen. Aber unter Linux ist dies ein Dateisystem-Flag. Das Gerät, auf dem das Dateisystem ausgeführt wird, muss den TRIMVorgang dennoch unterstützen . Um zu sehen , ob Ihr Gerät unterstützt es, zu verwenden: sudo hdparm -I /dev/sda | grep -i TRIM.
Ben
quelle
In meiner Installation (ursprünglich 18,10, später auf 19,04 aktualisiert) die Dateisysteme nicht die haben Verwerfungs aktiviert Option. In meinem System verwende ich nur SSD. und es hatte nie eine mechanische HD. Ich habe sie mit tune2fs aktiviert . Irgendeine Idee oder Erklärung, warum das System sie nicht standardmäßig aktiviert hat?
FedonKadifeli
1
Das halte ich nicht für richtig. Die Discard-Option schneidet Blöcke ab, wenn die Dateien aus dem Dateisystem gelöscht werden. Der systemd-Dienst schneidet die nicht verwendeten Blöcke regelmäßig auf dem Dateisystem. Das sind verschiedene Dinge. Die Discard-Option kann sich auf einigen Systemen negativ auf die Leistung auswirken.
Xioxox
1
@xioxox ist richtig. Neueste mount‚s Manpage besagt , dass « Die Ablagefunktion Probleme Befehle häufig das Blockgerät reclaim Raum , der durch das Dateisystem befreit zu lassen. [...] kann erhebliche Auswirkungen auf die Leistung haben . (Der Befehl fstrim ist auch verfügbar , um Batch-Zuschnitte vom Benutzerbereich aus zu initiieren.) »
Fabio A.
Danke, ich habe die Antwort entsprechend bearbeitet. Bitte stimmen Sie diese Antwort nicht weiter ab: Ich möchte sie behalten, da Ihre Kommentare wertvoll sind!
Ben