Ubuntu prend-il en charge la commande TRIM pour une utilisation avec SSD?

34

Les disques SSD doivent être "effacés / réinitialisés" une fois le disque plein pour que la performance soit maintenue. Cela se fait via la commande TRIM pour les nouveaux lecteurs SSD. Ubuntu prend-il en charge la commande TRIM (via hdparm, etc.) pour effacer / réinitialiser ces lecteurs?

    
posée ssanj 29.07.2010 - 04:25
la source

5 réponses

24

On dirait que la fonctionnalité TRIM est prise en charge dans les versions 10.10 et suivantes:

De plus, les opérations TRIM se déroulent automatiquement: des blocs vides sont automatiquement libérés lorsqu'ils ne sont plus nécessaires (par exemple, vous supprimez un fichier), si le disque indique qu'il prend en charge TRIM. Vous n'avez pas besoin d'émettre manuellement une commande hdparm pour que cela fonctionne.

    
réponse donnée Jeremy Kerr 29.07.2010 - 05:20
la source
20

La réponse de Jeremy n’est pas tout à fait exacte, autant que je sache. Cela fait quelque temps que je fais tourner les derniers noyaux stables sur Lucid et je suis très attentif au statut de TRIM, car j'ai un disque principal OCZ Agility.

Voici ce que (je pense) je sais:

  • Le noyau prend en charge TRIM à partir de la version 2.6.33 (Maverick est la version 2.6.35).

  • EXT4 prend en charge TRIM mais uniquement lorsque la journalisation est désactivée.

  • Le fonctionnement de TRIM dans le noyau est très basique et assez lent. Les disques conformes aux spécifications peuvent accepter plusieurs plages, mais le noyau ne peut actuellement en faire qu’une plage à la fois. Cela vient de quelque chose que j'ai lu il y a peut-être un mois. J'aurais aimé avoir la source, car cela pourrait ne pas être vrai ou ne plus être d'application.

La journalisation est ce qui la tue pour moi. La corruption de données est un PITA.

Cependant, les versions les plus récentes de hdparm (v9.25 - Maverick est à v9.27) sont accompagnées d’un script appelé wiper.sh qui effectue une analyse rapide du lecteur, puis élimine tout l’espace vide. Plutôt que de perdre des fonctionnalités, je trouve qu'il est beaucoup plus facile de créer wiper.sh une fois par semaine (ou une fois par jour / mois / peu importe). La dégradation de SSD pour un lecteur de système d'exploitation ne se produit pas aussi rapidement, à moins que vous ne démontiez constamment les choses. Vous n'avez pas besoin de TRIMming en temps réel.

Il existe également une interface graphique appelée DiskTRIM qui ne semble pas figurer dans le dépôt. Les utilisateurs moins expérimentés peuvent trouver cela plus facile à utiliser que la configuration de tâches cron.

Il existe des PPA pour hdparm et disktrim et tous peuvent être exécutés sur Lucid (et un peu plus en arrière) sans avoir besoin de noyaux 2.6.33 ou plus.

    
réponse donnée Oli 22.09.2010 - 17:29
la source
8

Linux supporte TRIM automatique avec le système de fichiers ETX4 depuis le noyau 2.6.33.

La première version Ubuntu avec prise en charge automatique de TRIM est la version 10.10 (Maveric), mais elle doit être activée dans fstab (comme décrit ici ).

    
réponse donnée Uli 31.12.2010 - 00:29
la source
4

En général, oui, car il existe une foule de façons d’obtenir de nouveaux noyaux. Si nous clarifions votre question, veuillez lire "10.04 LTS a-t-il un support immédiat pour la commande?" alors la réponse est non. Cependant, les noyaux de Maverick et de Natty (-generic, -generic-pae, -server et -virtual) ont été reportés à 10.04 LTS et sont disponibles à partir de $ release-updates dans les référentiels Ubuntu, par exemple, linux-image-generic-lts-backport-maverick est < a href="http://packages.ubuntu.com/lucid-updates/linux-image-generic-lts-backport-maverick"> Le portage de Maverick vers Lucid .

    
réponse donnée Daniel T Chen 23.11.2010 - 19:12
la source
2

J'utilise la version 11.04 et il ne semble pas que TRIM fonctionne correctement.

J'ai testé utiliser les instructions ci-dessous pour créer un fichier, le supprimer et voir si les secteurs sont mis à zéro. out / supprimé .

J'ai essayé d'activer TRIM en suivant les instructions fournies ici, , mais aucun dé

.

Je lance wiper.sh, je reçois

/sbin/wiper.sh --verbose --commit /dev/sda1
wiper.sh: Linux SATA SSD TRIM utility, version 3.3, by Mark Lord.
rootdev=/dev/sda1
fsmode2: fsmode=read-write
/: fstype=ext4
freesize = 13785252 KB, reserved = 137852 KB
Preparing for online TRIM of free space on /dev/sda1 (ext4 mounted read-write at /).

This operation could silently destroy your data.  Are you sure (y/N)? y
Creating temporary file (13647400 KB)..
Syncing disks..
Beginning TRIM operations..
get_trimlist=/sbin/hdparm --fibmap WIPER_TMPFILE.9689

/dev/sda:
trimming 27294800 sectors from 462 ranges
succeeded
Removing temporary file..
Syncing disks..
Done.

Cependant, si je l'exécute à nouveau, il indique que le même nombre de secteurs / plages doit être ajusté et indique à nouveau le succès. Je reçois exactement la même chose à chaque fois. Il ne semble pas que les secteurs soient supprimés / libérés. Leur lecture montre toujours les mêmes données.

Curieux si quelqu'un d'autre le fait fonctionner.

    
réponse donnée user10292 06.02.2011 - 04:43
la source

Lire d'autres questions sur les étiquettes