Outils pour utilisateurs

Outils du site


issue156:mon_histoire

I went and bought a bunch of USB thumb drives / memory sticks from a supplier on sale a while ago (actually a few years). Copying to and from these – I noticed some had horrible speeds. Now since they are all the same brand, I wondered if there was a way to test them. I used Parted to format them in different file systems and configurations, and the speed seemed to fluctuate a bit, but it could be my imagination. The question is: how does one measure the performance of your thumb drive / memory stick in Ubuntu? The solution The first thing that came to mind was dd. When dd is done, you get an output that lists the average speed. So, writing the Ubuntu image to the different drives (8, 16, 32) GB drives yielded different results. Then writing them to the same size drives (I bought two of each) again yielded different results. To get some sort of metric, I opened another terminal and ran iotop, This is not shipped with Ubuntu and you can install it with: sudo apt install iotop - The nice thing with this is you get read and write metrics. So not all USB thumb drives are created equally. The very first result in my search engine yielded: https://askubuntu.com/questions/539184/how-do-i-check-the-integrity-of-a-storage-medium-hard-disk-or-flash-drive (which was not quite what I was after, yet…).

Je suis allé acheter un tas de clés USB/cartes mémoires auprès d'un fournisseur qui les soldait il y a quelque temps (en fait quelques années). En copiant vers et depuis celles-ci, j'ai remarqué que certaines avaient des vitesses horribles. Bon, puisqu'elles sont toutes de la même marque, je me suis demandé s'il y avait un moyen de les tester. J'ai utilisé Parted pour les formater dans différents systèmes de fichiers et configurations, et la vitesse semblait fluctuer un peu, mais cela pourrait être mon imagination. La question est : comment mesurer les performances de votre clé USB/carte mémoire sous Ubuntu?

La solution

La première chose qui me vint à l'esprit fut dd. Lorsque dd est terminé, vous obtenez une sortie qui répertorie la vitesse moyenne. Ainsi, l'écriture de l'image Ubuntu sur les différents lecteurs de 8, 16, 32 Go a donné des résultats différents. Puis les écrire sur les clés de même taille (j'en ai acheté deux de chaque) a de nouveau donné des résultats différents. Pour obtenir une sorte de métrique, j'ai ouvert un autre terminal et exécuté iotop, qui n'est pas livré avec Ubuntu et que vous pouvez installer avec : sudo apt install iotop. L'intérêt est que vous obtenez des métriques de lecture et d'écriture. Ainsi, toutes les clés USB ne sont pas créées de la même manière. Le tout premier résultat dans mon moteur de recherche a donné : https://askubuntu.com/questions/539184/how-do-i-check-the-integrity-of-a-storage-medium-hard-disk-or-flash-drive (ce qui n'était pas tout à fait ce que je recherchais à cet instant…).

A light went on and I considered hdparm, which I have not used in about ten years or more. I was introduced to hdparm by my friend Lloyd in the wild west days of Ubuntu 04.04, to speed up my laptop. I did not consider it as I did not know if it would work for USB thumb drives and SSDs. You do not need to install hdparm – like dd, it ships with Ubuntu. Just typing hdparm will bring up a list of options. If you go down the list to ‘t’ - you will see lowercase and capital ‘t’ – both perform read timings. So I had to try: sudo hdparm -Tt /dev/sdX - (where X is your USB thumb drive). Frown… >:o( …. The results here were much faster than dd. Okay, let’s turn write caching off and back on again (the W flag), and re-test. Although there is a performance impact, it still does not match my measurements from dd. This was a mystery that needed solving. One of the 8GB memory sticks was quite a bit slower than the rest. Let us see what is happening. Running dmesg you should see the memory stick added at the end. Now run lsusb -v | grep bcdUSB to see what it was detected as:

Une lumière s'est allumée et j'ai envisagé hdparm, que je n'avais pas utilisé depuis une dizaine d'années ou plus. J'ai été initié à hdparm par mon ami Lloyd au temps du Far West d'Ubuntu 04.04, pour accélérer mon ordinateur portable. Je ne l'ai pas considéré car je ne savais pas si cela fonctionnerait pour les clés USB et les SSD. Vous n'avez pas besoin d'installer hdparm ; comme dd, il est livré avec Ubuntu. Il suffit de taper hdparm pour afficher une liste d'options. Si vous descendez jusqu'à « t » - vous verrez des « t » minuscules et majuscules - les deux effectuent des minutages de lecture. J'ai donc dû essayer: sudo hdparm -Tt /dev/sdX - (où X est votre clé USB). Froncement de sourcils… >:o(… Les résultats ici étaient beaucoup plus rapides que dd. Bon, désactivons et réactivons la mise en cache d'écriture (indicateur W), et testons à nouveau. Bien qu'il y ait un impact sur les performances, cela ne correspondait toujours pas à mes mesures de dd.

C'était un mystère qui devait être résolu. L'une des clés USB de 8 Go était un beaucoup plus lente que les autres. Voyons ce qui se passe. En exécutant dmesg, vous devriez voir la clé ajoutée à la fin. Exécutez maintenant lsusb -v | grep bcdUSB pour voir comment elle été détectée :

Aaaand there it is. One of the USB 3.0 memory sticks only detects as USB 2.0. If you are not sure which is which, run lsusb -t, then you can see which bus and port it is on. Before any of you say: “hey, why didn’t you just use gnome disks benchmarking?” I want to say that I did. However, it was not installed on the system I was testing on, and does not give the type of insight we have been looking at here. If you do not have it, you can add it with: sudo apt install gnome-disk-utility, and you will see a menu entry named ‘disks’. To benchmark a disk in ‘disks’ - select the thumb drive, then the hamburger menu to the top right, then ‘benchmark disk’. Make sure your data is backed up before running the benchmark!

Et la voilà. L'une des clés USB 3.0 n'est détectée qu'en USB 2.0. Si vous n'êtes pas sûr de savoir laquelle, exécutez lsusb -t et vous pourrez voir sur quel bus et port elle se trouve.

Avant que l'un d'entre vous ne dise : « Hé, pourquoi n'avez-vous pas simplement utilisé l'analyseur de disques gnome ? », je voudrais dire que je l'ai fait. Cependant, il n'était pas installé sur le système sur lequel je testais, et ne donne pas le type d'informations que nous avons examinées ici. Si vous ne l’avez pas, vous pouvez l’ajouter avec : sudo apt install gnome-disk-utility, et vous verrez une entrée de menu nommée « disques ». Pour comparer un disque dans « disques »,- sélectionnez la clé USB, puis le menu hamburger en haut à droite, puis « Analyser le disque ».

Assurez-vous que vos données sont sauvegardées avant d'exécuter l'analyse !

The Conclusion I got different results on different drives of the same size, as well as different results between the same make but different sizes. Some drives, even though being labelled as USB 3.0, were detected as USB 2.0, so check your drives after buying them! (I could not return mine as they have been lying in a box for over a year). Benchmarking is faster than real-world usage, as seen with dd, so rather work with that if you want to know the ‘true’ speed of your USB thumb drive. So - if the ‘true’ speed of your device does not match your expectation, do some digging!

Conclusion

J'ai obtenu des résultats différents sur différents disques de la même taille, ainsi que des résultats différents entre des disques de même marque, mais de tailles différentes. Certaines clés, même si elles sont étiquetées comme USB 3.0, ont été détectées comme USB 2.0, alors vérifiez vos disques après les avoir achetés ! (je n'ai pas pu rendre le mien car ils dorment dans une boîte depuis plus d'un an).

L'analyse est plus rapide que l'utilisation réelle, comme vu avec dd, alors travaillez plutôt avec cette dernière si vous voulez connaître la « vraie » vitesse de votre clé USB. Donc, si la « vraie » vitesse de votre appareil ne correspond pas à vos attentes, faites quelques recherches !

issue156/mon_histoire.txt · Dernière modification : 2020/05/06 10:54 de auntiee