#Gnu/Linux, Planet Libre
Script: Vérifier si le TRIM est fonctionnel.
10 septembre 2012 Rédigé par bartounet
La commande TRIM, disponible sur la plupart des modèles récents de SSD, permet aux systèmes d'exploitation modernes, tels que les systèmes Linux à partir du noyau 2.6.33 ou le système d'exploitation Microsoft Windows à partir de Windows 7, ainsi que Mac OS X depuis la version 10.6.6 (mais uniquement sur les SSD livrés par Apple8), d'éviter que les performances ne se dégradent avec le temps. Elle sert à notifier le SSD lors de l'effacement d'un fichier. Le contrôleur du SSD peut alors effacer les cellules de mémoire flash anciennement utilisées, afin d'optimiser les écritures ultérieures qui pourront alors être effectuées sans avoir à réaliser l'effacement préalable imposé par la technologie de la mémoire flash.
J'ai été amené à essayer de vérifier si le trim était bien fonctionnelle sur mes install en SSD.
Le protocole:
- Creer un fichier.
- Trouver son adresse bloc.
- vérifier qu'il est bien écrit sur le disque.
- Le supprimer.
- Vérifier qu'il n'existe plus sur le disque.
Sur un SSD avec le trim activé le fichier doit complètement disparaitre.
Le script:
#!/bin/bash
#TRIMTEST
#Antony MARTINEAU 2012
filetemp="/tmp/trimtest.txt"
disk=$(mount | grep -w "/" | egrep "sd|hd" | awk '{print $1}' |awk -F"/dev/" '{print $2}' | cut -c1-3)
mount | grep -w "/" | egrep "sd|hd" | awk '{print $1}' |awk -F"/dev/" '{print $2}' | cut -c1-3
echo trimtest > $filetemp
sync
lba=$(hdparm --fibmap $filetemp | awk '{print $2}' | awk 'END {print}')
if [ ! -z "$lba" ];then
echo "le fichier existe et occupe le bloc $lba"
rm -f $filetemp
sync
lbaend=$(dd if=/dev/$sda skip=$lba count=1 iflag=direct 2> /dev/null)
if [ -z "$lbaend" ];then
echo "*******TRIM OK*******"
else
echo "******NO TRIM*******"
fi
else
echo "Erreur le fichier n'existe pas"
fi
Information sur bartounet auteur de l'article
13 commentaires
#1
Merci pour cette belle serie. Commentaire de hotel luxe paris
#2
Super... simple et efficace.
Merci Commentaire de Votre Nom
#3
si je comprend ton script il ne teste que /tmp ?
J'ai bon ?
ma blague à moi c'est que depuis SSD mes temp dir sont en tmpfs...
je préfère utiliser de la ram moins cher et sans usure que du SSD. Commentaire de Votre Nom
#4
Il créee le fichier de test dans /tmp
Libre à vous de le modifier :) Commentaire de Bartounet
#5
Ce script manque terriblement de commentaires.
Pourquoi la ligne avec le mount est répété deux fois plutôt que de faire un "echo $disk" ?
Il y a un $sda qui n'a pas l'air de correspondre à quoi que ce soit.
Visiblement ça ne fonctionne que si le répertoire /tmp est dans le filesystem racine. La commande df permet de façon indirect de retrouver le device d'un répertoire.
Dans ce genre de script, il est TRÈS VIVEMENT recommandé d'ajouter un "set -eu" au début, afin de s'arrêter en cas d'erreur. Commentaire de skc
#6
Je pense que $sda devrait être $disk...
Qui plus est, attention car ce script ne fonctionnera pas en cas d'utilisation de cryptsetup, LVM, etc.
Chez moi, mount | grep -w "/" retourne :
/dev/mapper/vg_lebrac-lv_root on / type ext4 (options...) Commentaire de Votre Nom
#7
Il créee le fichier de test dans /tmp
Libre à vous de le modifier :)
+1 Commentaire de doudoune canada goose
#8
Très interessant, merci pour cette info pertinente et à bientôt :D Commentaire de smileys facebook
#9
Coucou, je trouve que votre opinion de ce thème est réellement intéressante, et je souhaite vous dire merci pour post enrichissant. Quoiqu'il arrive, je reviendrai dès que je le pourrai. Bien sur, si vous envisagez de visiter ma page web, n'hésitez pas. Continuez ! Commentaire de Sophie
#10
Pourquoi la ligne avec le mount est répété deux fois plutôt que de faire un "echo $disk" ? Commentaire de Coupe du monde
#11
Visiblement ça ne fonctionne que si le répertoire /tmp est dans le filesystem racine. La commande df permet de façon indirect de retrouver le device d'un répertoire. Commentaire de trafic organique
#12
merci du partage Commentaire de coque iphone 5 silicone
#13
Sympa le code Commentaire de Cath
Fil RSS des commentaires de cet article
Les commentaires sont fermés.