Performance

Comment utiliser la commande dd sous Linux

Comment utiliser la commande dd sous Linux
le jj la commande est utilisée pour faire beaucoup de choses importantes. L'utilisation la plus courante et la plus répandue de la jj commande est de créer des clés USB amorçables à partir d'un ISO ou alors IMG fichier d'image. Je l'utilise beaucoup pour faire des clés USB amorçables de différentes distributions Linux. Mais il y a d'autres usages du jj commande aussi. Par exemple, le jj La commande peut être utilisée pour faire une sauvegarde de la table de partition, convertir des textes et des fichiers, installer un bootloader sur un disque dur, un SSD ou une clé USB. le jj La commande peut également être utilisée pour tester les performances des périphériques de stockage telles que la latence de votre disque dur, la vitesse de lecture et d'écriture de votre disque dur, etc.

Dans cet article, je vais vous montrer quelques-uns des usages courants du jj commande sous Linux. J'utiliserai Debian 9 Stretch pour la démonstration. Mais cela devrait fonctionner sur n'importe quelle autre distribution Linux. Commençons.

Créer une clé USB amorçable avec dd :

Créer une clé USB amorçable de votre système d'exploitation préféré avec le jj la commande est très simple. Tout ce dont vous avez besoin est une clé USB et un ISO ou alors IMG image du système d'exploitation dont vous voulez faire une clé USB amorçable de.

Supposons que vous ayez téléchargé un ISO image d'Alpine Linux et le fichier est enregistré dans le ~/Téléchargements répertoire en tant que norme-alpin-3.8.0-x86_64.iso

Maintenant, vous pouvez répertorier tous les périphériques de stockage ou de blocage connectés avec la commande suivante :

$ sudo lsblk

Comme vous pouvez le voir, tous les périphériques de stockage ou de bloc connectés sont répertoriés. Ici, /dev/sdb est ma clé USB. Il a deux partitions, /dev/sdb1 et /dev/sdb2. Mais lorsque vous créez des lecteurs de démarrage USB, vous devez utiliser le /dev/sdb, l'ensemble du périphérique bloc, pas de partitions.

Créez maintenant une clé USB amorçable d'Alpine Linux avec la commande suivante :

$ sudo dd if=~/Téléchargements/alpine-standard-3.8.0-x86_64.iso de=/dev/sdb bs=1M

Ici, si=~/Téléchargements/alpine-standard-3.8.0-x86_64.iso l'option est utilisée pour dire jj que le fichier d'entrée est dans le chemin ~/Téléchargements/alpine-standard-3.8.0-x86_64.iso et de=/dev/sdb l'option est utilisée pour dire jj que le fichier de sortie est dans le chemin /dev/sdb. Le bs=1M raconte jj lire de ~/Téléchargements/alpine-standard-3.8.0-x86_64.iso et écris à /dev/sdb 1 Mo de données à la fois.

Comme vous pouvez le voir, le fichier ISO est copié sur le périphérique de bloc /dev/sdb. Vous pouvez maintenant l'utiliser pour installer Alpine Linux.

Cette commande est très destructrice. le jj la commande efface la table de partition et d'autres métadonnées, les drapeaux du périphérique de bloc. Donc tu dois faire attention.

Affichage de la barre de progression :

Par défaut, le jj la commande n'affiche aucune barre de progression. Mais tu peux dire jj pour le montrer avec le statut=progrès option.

Par exemple, pour copier des données de /dev/sda à /dev/sdb 1 Mo à la fois et affichez également la barre de progression, exécutez la commande suivante :

$ sudo dd if=/dev/sda of=/dev/sdb bs=1M status=progress

Comme vous pouvez le voir, la barre de progression s'affiche. Vous pouvez voir combien de données sont copiées et la vitesse à laquelle elles sont copiées.

Mesurer les performances de lecture et d'écriture d'un périphérique de stockage avec dd :

Vous pouvez mesurer la vitesse de lecture et d'écriture d'un périphérique de stockage avec jj très facilement. Bien sûr, il existe de nombreux logiciels graphiques qui fournissent cette information, mais les amateurs de ligne de commande trouveraient cela très intéressant.

Tout d'abord, vous devez monter la partition ou le périphérique de stockage sur votre système de fichiers. Si vous n'avez pas de partition sur votre périphérique de stockage, vous pouvez toujours la créer avec le fdisk commande et formatez-la dans le système de fichiers de votre choix (comme FAT32, EXT4, NTFS, XFS etc). Ici, je suppose que vous avez une partition /dev/sdb1 et il est formaté comme EXT4.

Disons que vous voulez monter /dev/sdb1 partitionner en /mnt répertoire, puis exécutez la commande suivante :

$ sudo mount /dev/sdb1 /mnt

Comme vous pouvez le voir, la partition /dev/sdb1 est monté sur /mnt annuaire.

$ df -h

Créons maintenant un fichier de 1 Go tester dans le /mnt répertoire avec jj:

$ sudo dd if=/dev/zero of=/mnt/testrw bs=1G count=1 oflag=direct

Ici, compte=1 signifie, lisez bs=1G qui est à 1 gigaoctet de /dev/zéro, et écris-le à /mnt/testrw déposer.

le oflag=direct l'option est utilisée pour désactiver la mise en cache du disque. Si la mise en cache du disque est activée, vous n'obtiendrez pas de résultats très précis.

REMARQUE: N'oubliez pas, pour cette opération, vous devez disposer d'au moins 1 Go de mémoire libre ou de RAM sur votre ordinateur. Si vous ne pouvez pas vous permettre autant de RAM libre, réduisez la taille de bs. Par exemple, définissez bs=128M ou même moins, bs=64M.

Comme vous pouvez le voir, la vitesse d'écriture de ma clé USB est d'environ 6.1 Mo par seconde.

Vous pouvez également tester la vitesse de lecture de votre périphérique de stockage avec la commande suivante :

$ sudo dd if=/mnt/testrw of=~/Téléchargements/test bs=1G count=1 oflag=direct

Comme vous pouvez le voir, je peux lire à 4.3 Mo par seconde.

Test de la latence du périphérique de stockage avec dd :

La latence d'un périphérique de stockage est le temps qu'il faut pour accéder au périphérique. C'est un paramètre important que nous pouvons déterminer à l'aide de la jj commander.

Pour tester la latence, nous pouvons écrire ou lire de petits morceaux de données (environ 512 octets à la fois) X fois et voir combien de temps cela prend. Ensuite, nous pouvons calculer très facilement combien de temps il faut pour lire ou écrire un seul bloc de données. C'est ce qu'on appelle la latence du périphérique de stockage.

Par exemple, disons que vous voulez calculer la latence d'écriture. Exécutez maintenant la commande suivante pour écrire un morceau de 512 octets environ 1000 fois :

$ sudo dd if=/dev/zero of=/mnt/testX bs=512 count=1000 oflag=direct

Comme vous pouvez le voir, il faut environ 16.4541 secondes pour écrire 1000 des morceaux de 512 octets de données. Maintenant, pour écrire un seul bloc de données, il faut environ (16.4541s / 1000 = 0.0164s) 0.0164 secondes. Donc la latence d'écriture est d'environ 0.0164 secondes pour ce périphérique de stockage.

Vous pouvez calculer la latence de lecture de la même manière.

C'est ainsi que vous utilisez dd et testez les performances d'un périphérique d'E/S avec. Merci d'avoir lu cet article.

Jeux HD remasterisés pour Linux qui n'ont jamais eu de version Linux plus tôt
De nombreux développeurs et éditeurs de jeux proposent une remasterisation HD d'anciens jeux pour prolonger la durée de vie de la franchise, veuillez ...
Comment utiliser AutoKey pour automatiser les jeux Linux
AutoKey est un utilitaire d'automatisation de bureau pour Linux et X11, programmé en Python 3, GTK et Qt. En utilisant ses fonctionnalités de script e...
Comment afficher le compteur FPS dans les jeux Linux
Les jeux Linux ont reçu une impulsion majeure lorsque Valve a annoncé la prise en charge de Linux pour le client Steam et leurs jeux en 2012. Depuis l...