Comment activer TRIM pour SSD sur Ubuntu

Une photographie de deux cartes SSD NVMe.

Si vous utilisez un disque SSD (Solid State Drive), vous devez savoir que vous ne devriez pas exécuter de logiciels de défragmentation ou de consolidation d’espace libre dessus. Alors, comment nettoyer votre SSD et libérer l’espace vide ? TRIM est la commande que nous utilisons pour informer le système d’exploitation de faire le travail de nettoyage. Windows 11 vous permet d’exécuter manuellement TRIM via la commande fsutil. Mais qu’en est-il d’Ubuntu ? Comment pouvez-vous activer TRIM pour le SSD sur Ubuntu ?

Remarque : Les étapes suivantes ne fonctionneront pas si vous avez chiffré votre partition.

Table des Matières

  • Création d’un Cron Job TRIM pour votre SSD
  • Utilisation de l’option Discard dans fstab
  • Questions Fréquemment Posées

Création d’un Cron Job TRIM pour votre SSD

  1. Pour vous assurer que le SSD de votre ordinateur prend en charge TRIM, ouvrez un terminal et tapez :
sudo hdparm -I/dev/sda

Une fenêtre de terminal montrant la sortie de la commande hdparm.

Si Ubuntu n’est pas installé dans la première partition du SSD, changez sda pour refléter la partition où se trouve Ubuntu. Vous pouvez le faire en exécutant lsblk.

Une fenêtre de terminal montrant tous les disques attachés à la machine.

  1. Faites défiler la liste jusqu’à ce que vous voyiez la section “Enabled Supported”. Faites défiler plus bas, et si vous voyez quelque chose comme “ Data Set Management TRIM pris en charge (limite 8 blocs),” alors TRIM est pris en charge pour votre SSD.

Une fenêtre de terminal montrant le drapeau TRIM disponible pour le SSD de démonstration.

  1. Testez si la fonction TRIM fonctionne sur Ubuntu. Dans le terminal, tapez :
sudo fstrim -v/

Cela nettoiera la partition racine du SSD. Si cela réussit, vous devriez voir quelque chose qui ressemble à l’image suivante.

Une fenêtre de terminal montrant la première commande fstrim pour le SSD.

  1. Définissez un cron job pour que le système d’exploitation envoie la commande TRIM une fois par jour.
sudonano/etc/cron.daily/trim
  1. Collez le code suivant dans la zone blanche :
#!/bin/sh  
fstrim -v/
  1. Si votre répertoire HOME est situé sur une autre partition, vous pouvez ajouter une ligne supplémentaire à la fin du code ci-dessus :
fstrim -v/home >>$LOG
  1. Si vous souhaitez enregistrer la sortie dans un fichier journal, utilisez plutôt le code suivant :
#!/bin/sh  
LOG=/var/log/trim.log  
echo"* $(date -R) *">>$LOG  
fstrim -v/>>$LOG  
fstrim -v/home >>$LOG

Une fenêtre de terminal montrant un script cron complet pour fstrim.

  1. Enregistrez (Ctrl + O) et quittez (Ctrl + X).

  2. Rendez le cron job exécutable :

sudochmod a+x /etc/cron.daily/trim

Une fenêtre de terminal montrant le script trim avec les bons bits de permission.

Bon à savoir : cron est un excellent utilitaire qui peut vous aider à automatiser des tâches sous Linux. Découvrez comment cela fonctionne et comment vous pouvez l’utiliser pour vos propres programmes.

Utilisation de l’option Discard dans fstab

En plus d’invoquer manuellement fstrim, vous pouvez également configurer votre système pour “éliminer” en continu tout espace vide inutilisé sur votre disque. Cela peut être utile si vous utilisez un ordinateur portable et que vous ne souhaitez pas laisser votre ordinateur allumé tout le temps.

  1. Vérifiez la valeur UUID de votre partition racine :
ls-l/dev/disk/by-uuid

Une fenêtre de terminal montrant le lien symbolique entre UUID et les partitions SSD.

  1. Ouvrez le fichier “/etc/fstab” avec votre éditeur de texte préféré. Dans mon cas, j’utilise GNU Nano :
sudonano/etc/fstab
  1. Trouvez l’entrée “/etc/fstab” de votre partition racine en appuyant sur Ctrl + W, puis en tapant sa valeur UUID.

Une fenêtre de terminal montrant le fichier /etc/fstab par défaut pour le système de démonstration.

  1. Allez à l’entrée de votre partition racine et tapez discard,noatime, avant l’option “errors=remount-ro”. Par exemple, mon fichier “/etc/fstab” a l’entrée suivante pour la partition racine :
#   
UUID=xxx    /    ext4    discard,noatime,errors=remount-ro    01  
[...]

Une fenêtre de terminal montrant le fichier /etc/fstab modifié.

  1. Enregistrez votre nouveau fichier “/etc/fstab” en appuyant sur Ctrl + O, puis Ctrl + X.

Une fenêtre de terminal montrant l'invite d'enregistrement pour GNU Nano.

  1. Enfin, redémarrez votre machine pour appliquer vos nouveaux paramètres.

Une fenêtre de terminal montrant la commande de redémarrage pour le système de démonstration.

FYI : bien que TRIM supprime tout espace libre sur votre SSD, cela ne vous protégera pas des programmes de récupération de données. Découvrez comment vous pouvez effacer vos données en toute sécurité en utilisant uniquement des outils de ligne de commande simples.

Questions Fréquemment Posées

Puis-je utiliser à la fois fstrim et discard sur mon SSD en même temps ?

Oui. Cependant, cela ne produira aucune amélioration notable ni n’étendra la durée de vie de votre SSD, car fstrim et discard utilisent des routines TRIM similaires lorsqu’ils suppriment des blocs inutilisés et libres.

Sachez que fstrim et discard diffèrent en un point clé : la fréquence. Le premier cumule tous les blocs inutilisés avant de les “libérer”, tandis que le dernier “libère” un bloc dès qu’il devient inutilisé. Cela signifie que discard utilisera toujours plus de ressources système et d’E/S disque que fstrim.

Mon fichier /etc/fstab n’a pas d’UUID pour sa partition racine.

C’est très probablement dû au fait que votre système utilise soit une carte RAID matérielle, soit un utilitaire de gestion de volumes logiques (LVM). Par défaut, TRIM ne fonctionnera que sur les systèmes utilisant des partitions de disque traditionnelles et des systèmes de fichiers tels qu’ext4.

Quoi qu’il en soit, certains programmes LVM offrent une option pratique pour effectuer des TRIM. Sur Ubuntu, vous pouvez ajouter issue_discards = 1 à votre fichier “/etc/lvm/lvm.conf” pour TRIM automatiquement tout bloc inutilisé et libre.

Est-il possible de changer la fréquence de ma commande fstrim ?

Oui. Par défaut, Linux fournit plusieurs fichiers de minuterie qui vous permettent de régler finement quand vous souhaitez utiliser fstrim. Par exemple, vous pouvez exécuter sudo mv /etc/cron.daily/trim /etc/cron.weekly/trim pour changer votre fréquence TRIM de tous les jours à toutes les semaines.

Crédit des images : Unsplash. Tous les ajustements et captures d’écran par Ramces Red.