Vérifier si TRIM fonctionne sur votre SSD (trimcheck)

De Linux Server Wiki
Aller à la navigation Aller à la recherche


Support matériel

Vérifiez que la commande suivante à des valeurs > 0 aux colomnes DISC-GRAN et DISC-MAX

lsblk --discard

Alternativement, vous pouvez aussi vérifier avec hdparm : hdparm -I /dev/sda | grep TRIM

Vérification de si trim fonctionne bien

# yes | dd iflag=fullblock bs=1M count=1 of=trim.test
# filefrag -s -v trim.test
Filesystem type is: ef53
File size of trim.test is 1048576 (256 blocks of 4096 bytes)
 ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0..     255:   21459456..  21459711:    256:             last,eof
# df trim.test
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/sda1      120621792 60572328  53879096  53% /

On a donc un fichier trim.test rempli du pattern yes (y) sur la partition /dev/sda1 à l'adresse 21459456 avec une longueur de 256 blocs de 4096 bytes.

si on lit ce fichier :

# dd bs=4096 skip=21459456 count=256 if=/dev/sda1 | hexdump -C
00000000  79 0a 79 0a 79 0a 79 0a  79 0a 79 0a 79 0a 79 0a  |y.y.y.y.y.y.y.y.|
*
256+0 records in
256+0 records out
1048576 bytes (1,0 MB, 1,0 MiB) copied, 0,00340137 s, 308 MB/s
00100000

Si TRIM fonctionne, le pattern yes doit changer après suppression du fichier, vidage du cache :

# rm trim.test
# sync
# fstrim -v /
# echo 1 > /proc/sys/vm/drop_caches
# dd bs=4096 skip=21459456 count=256 if=/dev/sda1 | hexdump -C
00000000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
256+0 records in
256+0 records out
1048576 bytes (1,0 MB, 1,0 MiB) copied, 0,0029884 s, 351 MB/s
00100000

Si votre SSD utilise une méthode de chiffrement hardware, vous devriez voir un pattern aléatoire au lieu de ................