Ubuntu ab 14.10
In Ubuntu 14.10 und 15.04 findet TRIMming auf allen von unterstützten SSDs jede Woche automatisch statt fstrim
.
$ tail -n1 /etc/cron.weekly/fstrim
/sbin/fstrim --all || true
Seit 15.04 verwendet Ubuntu systemd und seinen Timer ( man systemd.timer
, Arch wiki )
systemctl list-timers
systemctl status fstrim.timer
Ubuntu 14.04
Ab Ubuntu 14.04 ist geplantes TRIM standardmäßig für Intel-, SAMSUNG-, OCZ-, Patriot- und Sandisk-SSDs aktiviert. Wenn Sie eine andere Marke haben, können Sie die Herstellerprüfung deaktivieren, indem Sie den folgenden Befehl ausführen:
sed -i 's/exec fstrim-all/exec fstrim-all --no-model-check/g' /etc/cron.weekly/fstrim
(oder einfach die Datei bearbeiten /etc/cron.weekly/fstrim
und hinzufügen --no-model-check
)
Ubuntu 13.10 und früher
Es gibt drei Möglichkeiten, TRIM manuell, geplant und automatisch auszuführen:
Manueller TRIM
In Ubuntu kann dies durchgeführt werden mit fstrim
:
sudo fstrim /
Dies ist jedoch nicht erforderlich, wenn geplantes oder automatisches TRIM aktiviert ist, wie in den folgenden Abschnitten beschrieben.
Hinweis: Für Ubuntu 11.04 und frühere Systeme ist fstrim nicht verfügbar, daher müssen Sie das wiper.sh
mitgelieferte hdparm
in verwenden/usr/share/doc/hdparm/contrib/wiper.sh.gz
Geplantes TRIM (empfohlen)
Dies ist die derzeit empfohlene Methode und soll standardmäßig für Ubuntu 14.04 aktiviert werden . So aktivieren Sie es manuell in älteren Ubuntu-Versionen (11.10 bis 13.10):
Erstellen Sie eine wöchentliche CRON-Job-Skriptdatei:
gksudo gedit /etc/cron.weekly/fstrim
Fügen Sie den folgenden Code in die Datei ein, speichern und schließen Sie die Datei:
#! /bin/sh
# By default we assume only / is on an SSD.
# You can add more SSD mount points, separated by spaces.
# Make sure all mount points are within the quotes. For example:
# SSD_MOUNT_POINTS='/ /boot /home /media/my_other_ssd'
SSD_MOUNT_POINTS='/'
for mount_point in $SSD_MOUNT_POINTS
do
fstrim $mount_point
done
Beachten Sie, dass oben nur davon ausgegangen /
wird, dass sich Ihr Root-Dateisystem auf einer SSD befindet. Wenn sich auf einer oder mehreren SSDs mehrere Einhängepunkte befinden, fügen Sie diese SSD_MOUNT_POINTS
wie im Code beschrieben hinzu.
Machen Sie das Skript ausführbar:
sudo chmod +x /etc/cron.weekly/fstrim
Und zum Schluss testen Sie es:
sudo /etc/cron.weekly/fstrim
Wenn Sie keine Fehler sehen, sollte Ihr Cron-Job einwandfrei funktionieren.
Automatic TRIM (veraltet, langsam)
Automatic TRIM wird seit Ubuntu 10.10 (Kernel 2.6.33) mit dem EXT4-Dateisystem unterstützt. Es wurde jedoch festgestellt, dass das Senden von TRIM-Befehlen in Echtzeit - nach jedem Löschen - das Löschen auf einigen Laufwerken erheblich langsamer als gewöhnlich macht. Daher wird ein wöchentlich geplantes TRIM über einen Cron-Job (wie oben beschrieben) empfohlen.
Um das automatische TRIM auf einem Laufwerk oder einer Partition zu aktivieren, müssen diese mit der discard
Option in gemountet werden fstab
. Sichere zuerst deine fstab und öffne sie dann zum Bearbeiten:
sudo cp /etc/fstab ~/fstab-backup
gksudo gedit /etc/fstab
Fügen Sie discard
dem Eintrag fstab options (durch Kommas getrennt) für das SSD-Laufwerk oder jede Partition hinzu.
UUID=00000000-0000-0000-0000-000000000000 / ext4 discard,errors=remount-ro 0 1
Schließe und speichere fstab, starte dann neu und das automatische TRIM sollte nun funktionieren.
Automatisches TRIM testen
Um zu testen, ob TRIM funktioniert, geben Sie die folgenden Befehle ein ( Quelle ):
cd / # Replace with SSD file system
sudo dd if=/dev/urandom of=tempfile count=100 bs=512k oflag=direct
sudo hdparm --fibmap tempfile
Kopieren Sie aus der Ausgabe die Nummer unter begin_LBA
und überprüfen Sie den Gerätenamen Ihrer SSD: System->Administration->Disk Utility
zB sda, sdb, sdc ...
Führen Sie die folgenden [ADDRESS]
Schritte aus , ersetzen Sie jedoch (begin_LBA) und sdX
(SSD-Gerätename) durch die oben angegebenen Details.
sudo hdparm --read-sector [ADDRESS] /dev/sdX
Die Ausgabe sollte eine lange Zeichenfolge für diese Sektoren sein
sudo rm tempfile
sync
Wiederholen Sie den hdparm
Befehl von oben:
sudo hdparm --read-sector [ADDRESS] /dev/sdX
Wenn Sie nur Nullen erhalten, funktioniert das automatische TRIM. Wenn die Sektoren nach dem Entfernen der Datei immer noch nicht leer sind, warten Sie eine Weile und führen Sie den Befehl erneut aus.