Ubuntu 14.10 et ultérieur
À partir d'Ubuntu 14.10 et 15.05, le TRIM est effectué automatiquement chaque semaine sur tous les SSD pris en charge par fstrim
.
$ tail -n1 /etc/cron.weekly/fstrim
/sbin/fstrim --all || true
Depuis Ubuntu 15.04, Ubuntu utilise systemd et son minuteur (man systemd.timer
, Arch wiki)
systemctl list-timers
systemctl status fstrim.timer
Ubuntu 14.04
À partir d'Ubuntu 14.04, le TRIM planifié est activé par défaut pour les SSD Intel, SAMSUNG, OCZ, Patriot et Sandisk. Si vous avez une autre marque, vous pouvez désactiver la vérification du fournisseur en exécutant la commande suivante:
sed -i 's/exec fstrim-all/exec fstrim-all --no-model-check/g' /etc/cron.weekly/fstrim
(ou simplement modifier le fichier /etc/cron.weekly/fstrim
et ajouter --no-model-check
)
Ubuntu 13.10 et antérieur
Il existe trois façons d'effectuer le TRIM, manuelle, planifiée et automatique:
TRIM manuelle
Sous Ubuntu, cela peut être effectué avec fstrim
:
sudo fstrim /
cependant, cela n'est pas nécessaire lorsque le TRIM planifié ou automatique est activé, comme détaillé dans les sections ci-dessous.
Remarque: Pour Ubuntu 11.04 et les systèmes antérieurs, fstrim n'est pas disponible, vous devez donc utiliser wiper.sh
fourni avec hdparm
dans /usr/share/doc/hdparm/contrib/wiper.sh.gz
TRIM planifiée (Recommandé)
C'est la méthode actuellement recommandée, et est prévue pour être activée par défaut pour Ubuntu 14.04. Voici comment l'activer manuellement dans les anciennes versions d'Ubuntu (de 11.10 à 13.10):
Créez un fichier de script CRON hebdomadaire:
gksudo gedit /etc/cron.weekly/fstrim
Collez le code suivant dans le fichier, puis enregistrez et fermez le fichier:
#! /bin/sh
# Par défaut, nous supposons que seul / est sur un SSD.
# Vous pouvez ajouter plus de points de montage SSD, séparés par des espaces.
# Assurez-vous que tous les points de montage sont dans les guillemets. Par exemple:
# SSD_MOUNT_POINTS='/ /boot /home /media/my_other_ssd'
SSD_MOUNT_POINTS='/'
for mount_point in $SSD_MOUNT_POINTS
do
fstrim $mount_point
done
Remarquez que ce qui précède suppose que seul votre système de fichiers racine /
est situé sur un SSD. Si vous avez plus de points de montage situés sur un ou plusieurs SSD, ajoutez-les à SSD_MOUNT_POINTS
comme expliqué dans le code.
Rendez le script exécutable:
sudo chmod +x /etc/cron.weekly/fstrim
Et enfin testez-le:
sudo /etc/cron.weekly/fstrim
Si vous ne voyez pas d'erreurs, votre tâche cron devrait fonctionner correctement.
TRIM automatique (Obsolète, Lent)
Le TRIM automatique est pris en charge depuis Ubuntu 10.10 (noyau 2.6.33) avec le système de fichiers EXT4. Cependant, envoyer des commandes TRIM au SSD en temps réel - après chaque suppression - a été reconnu pour rendre la suppression beaucoup plus lente que d'habitude sur certains lecteurs. Par conséquent, un TRIM planifié hebdomadaire via une tâche cron (décrit ci-dessus) est recommandé.
Pour activer le TRIM automatique sur un lecteur ou une partition, ils doivent être montés avec l'option discard
dans fstab
. Tout d'abord, sauvegardez votre fstab puis ouvrez-le pour l'éditer:
sudo cp /etc/fstab ~/fstab-backup
gksudo gedit /etc/fstab
Ajoutez discard
à l'entrée des options de fstab (séparées par des virgules) pour le lecteur SSD ou chaque partition.
UUID=00000000-0000-0000-0000-000000000000 / ext4 discard,errors=remount-ro 0 1
Enregistrez et fermez fstab, puis redémarrez et le TRIM automatique devrait maintenant fonctionner.
Test du TRIM automatique
Pour tester si le TRIM fonctionne, émettez les commandes suivantes (source):
cd / # Remplacez par le système de fichiers SSD
sudo dd if=/dev/urandom of=tempfile count=100 bs=512k oflag=direct
sudo hdparm --fibmap tempfile
Dans la sortie, copiez le numéro sous begin_LBA
et vérifiez le nom du dispositif de votre SSD: Système->Administration->Utilitaire de disque
par exemple sda, sdb, sdc ...
Exécutez la commande suivante mais remplacez [ADDRESS]
(begin_LBA) et sdX
(nom du dispositif SSD) par les détails obtenus ci-dessus.
sudo hdparm --read-sector [ADDRESS] /dev/sdX
la sortie devrait être une longue chaîne de caractères pour ces secteurs
sudo rm tempfile
sync
Répétez la commande hdparm
ci-dessus:
sudo hdparm --read-sector [ADDRESS] /dev/sdX
Si vous n'obtenez que des zéros, alors le TRIM automatique fonctionne. Cependant, si après la suppression du fichier les secteurs ne sont toujours pas vides, attendez un moment et exécutez à nouveau la commande.