9Sep

Ubuntu ne pas TRIM SSD par défaut: pourquoi pas et comment l'activer vous-même

Ubuntu veut activer TRIM pour les SSD par défaut dans Ubuntu 14.04.En d'autres termes, Ubuntu n'utilise pas déjà TRIM, votre SSD ralentit avec le temps. Mais pourquoi Ubuntu n'utilise-t-il pas TRIM?

Cette nouvelle surprendra probablement beaucoup de gens, qui ont supposé qu'Ubuntu et d'autres distributions Linux utilisaient déjà TRIM.TRIM empêche les disques SSD de ralentir avec le temps et fait partie intégrante de la maintenance des disques SSD.

Pourquoi TRIM est important

Nous avons couvert pourquoi TRIM est important auparavant. Lorsque vous supprimez un fichier sur un ancien disque dur magnétique, l'ordinateur marque simplement ce fichier comme supprimé.Les données du fichier restent sur le disque dur - c'est pourquoi les fichiers supprimés peuvent être récupérés. L'ordinateur finira par écraser les fichiers supprimés lorsqu'il écrasera leurs secteurs avec de nouvelles données.

Les disques SSD fonctionnent différemment. Chaque fois que vous écrivez un fichier sur un disque SSD, l'ordinateur doit d'abord effacer toutes les données dans les secteurs dans lesquels il écrit les données. Il ne peut pas simplement "écraser" les secteurs en une opération - il doit d'abord les effacer, puis écrire dans les secteurs vides.

Cela signifie qu'un SSD va ralentir avec le temps. Ecrire aux secteurs du SSD sera rapide la première fois. Après avoir supprimé certains fichiers et réessayer d'y écrire, cela prendra plus de temps. C'est en grande partie la raison pour laquelle le Nexus 7 original de Google a tellement ralenti avec le temps. Google a corrigé cela en implémentant TRIM dans Android 4.3.(Android utilise également le noyau Linux.)

Lorsque TRIM est activé, le système d'exploitation indique au SSD chaque fois qu'il supprime un fichier. Le lecteur peut alors effacer les secteurs contenant le contenu du fichier, ainsi l'écriture dans les secteurs sera rapide dans le futur.

En d'autres termes, si vous n'utilisez pas TRIM, votre SSD ralentira avec le temps. C'est pourquoi les systèmes d'exploitation modernes, y compris Windows 7+, Mac OS X 10.6.8+, et Android 4.3+ utilisent TRIM.TRIM a été implémenté sous Linux en décembre 2008, mais Ubuntu ne l'utilise pas par défaut.

ARTICLES CONNEXES
Qu'est-ce qu'un SSD( Solid State Drive) et en ai-je besoin?
Dois-je "optimiser" mon SSD avec un logiciel tiers?

Pourquoi Ubuntu n'est-il pas TRIM par défaut?

La véritable raison pour laquelle Ubuntu ne TRIM pas les SSD par défaut est parce que l'implémentation de TRIM du noyau Linux est lente et entraîne des performances médiocres en utilisation normale.

Sur Windows 7 et 8, Windows envoie une commande TRIM chaque fois qu'il supprime un fichier, indiquant au lecteur de supprimer immédiatement les bits du fichier. Linux prend cela en charge lorsque les systèmes de fichiers sont montés avec l'option "Discard".Cependant, Ubuntu - et d'autres distributions - ne le font pas par défaut pour des raisons de performances.

Le wiki d'OpenSUSE contient des informations détaillées d'un développeur qui est plus familier avec le noyau Linux que nous. C'est un peu daté, mais il est probablement encore vrai quand il s'agit de performances:

"L'implémentation du noyau de l'ajustement en temps réel en 11.2, 11.3 et 11.4 n'est pas optimisée. La spécificationdemande à trim de supporter une liste vectorisée de gammes, mais depuis le kernel 3.0 trim n'est invoqué que par le noyau avec une seule gamme discard / trim et avec les actuels SSD 2011, cela a provoqué une dégradation des performances au lieu d'une augmentation de performance. Il y a peu de raisons d'utiliser le support des rejets en temps réel des noyaux avec les noyaux pré-3.1.On ne sait pas quand la fonctionnalité d'élimination des noyaux sera optimisée pour fonctionner avec les SSD de génération actuelle. "[Source]

En d'autres termes, le noyau Linux gère ces commandes TRIM en temps réel de manière lente et non optimisée. En activant TRIM de la même manière que Windows, c'est-à-dire en utilisant l'option "Discard", le système devient réellement plus lent que si TRIM n'était pas utilisé du tout. Ubuntu et d'autres distributions Linux n'autorisent pas le "rejet" par défaut pour vos systèmes de fichiers, et vous ne devriez pas non plus.

est une autre méthode Comme l'opération TRIM en temps réel du noyau Linux ne fonctionne pas correctement, la plupart des distributions Linux, y compris Ubuntu, n'utilisent pas TRIM automatiquement. Android n'a pas non plus utilisé TRIM jusqu'à Android 4.3.

Mais il y a une autre façon d'utiliser TRIM.Plutôt que d'émettre simplement la commande TRIM chaque fois qu'un fichier est supprimé, la fonction FITRIM peut être utilisée. Cela arrive via la commande fstrim. Essentiellement, la commande fstrim analyse le système de fichiers et informe le lecteur des blocs qui ne sont plus nécessaires, afin que le lecteur puisse les ignorer. Cela transforme TRIM d'une opération en temps réel en une tâche planifiée. En d'autres termes, fstrim peut effectuer TRIM comme un travail cron. Il n'y a aucune raison de ne pas le faire. Cela ne ralentira rien;C'est juste une autre tâche de nettoyage que le système doit effectuer selon un calendrier.

En fait, c'est l'approche que Google a pris avec Android 4.3.Android exécute simplement une tâche fstrim de temps en temps pour TRIM le système de fichiers, la résolution du problème qui a ralenti tous les Nexus 7 d'origine.

Ubuntu cherche également à activer TRIM automatiquement en faisant fonctionner fstrim par le système. Nous espérons que cela fera partie d'Ubuntu 14.04, donc les utilisateurs d'Ubuntu ne seront pas forcés de gérer la dégradation des performances du SSD ou d'exécuter eux-mêmes fstrim.

Comment activer TRIM

Nous ne vous recommandons pas de monter vos systèmes de fichiers avec l'opération "Rejeter", car cela entraînera probablement des performances plus lentes en utilisation normale. Cependant, vous pouvez utiliser TRIM vous-même en lançant occasionnellement la commande fstrim ou en créant votre propre cronjob qui exécute fstrim sur un planning.

Pour TRIM votre SSD sur Ubuntu, ouvrez simplement un terminal et exécutez la commande suivante:

sudo fstrim -v /

Vous pouvez exécuter la commande ci-dessus de temps en temps pour éviter la dégradation des performances sur les disques SSD.La fréquence à laquelle vous devez l'exécuter dépend de la fréquence à laquelle les fichiers sont supprimés de votre disque SSD.Vous verrez une erreur si vous essayez d'exécuter la commande avec un lecteur qui ne prend pas en charge TRIM.

Si vous voulez exécuter TRIM régulièrement, vous pouvez simplement créer un cronjob qui exécute la commande fstrim pour vous. Voici comment faire un travail cron barebones qui le fera automatiquement.

Tout d'abord, exécutez la commande suivante pour ouvrir l'éditeur de texte nano avec les droits root:

sudo nano /etc/cron.daily/ fstrim

Tapez le code suivant dans le fichier:

#!/bin/ sh

fstrim /

Enregistrez le fichier en appuyant sur Ctrl + O et appuyez sur Entrée pour confirmer. Appuyez sur Ctrl + X pour fermer nano après l'enregistrement du fichier.

Enfin, exécutez la commande suivante pour rendre le script exécutable:

sudo chmod + x /etc/cron.daily/ fstrim

Ubuntu va maintenant exécuter fstrim sur un planning, comme il le fait pour les autres tâches de maintenance du système.

Notez que TRIM n'est pris en charge que sur les systèmes de fichiers modernes, vous aurez donc besoin de quelque chose comme ext4 et non ext3 ou ext2.Si vous ne savez pas quel système de fichiers vous utilisez, ne vous inquiétez pas - ext4 est sélectionné par défaut.

Une grande partie de ce conseil s'applique également à d'autres distributions Linux. Bien que Linux ait implémenté le support TRIM dans le noyau il y a longtemps, son support TRIM semble n'avoir jamais été activé par défaut pour les utilisateurs typiques des distributions Linux.

Crédit d'image: Mace Ojala sur Flickr( cropped)