Performance

So verwenden Sie den dd-Befehl unter Linux

So verwenden Sie den dd-Befehl unter Linux
Das dd Befehl wird verwendet, um viele wichtige Dinge zu tun. Die häufigste und am weitesten verbreitete Verwendung von dd Befehl besteht darin, bootfähige USB-Laufwerke von einem ISO oder IMG Bilddatei. Ich benutze es oft, um bootfähige USB-Laufwerke verschiedener Linux-Distributionen zu erstellen. Aber es gibt noch andere Verwendungen des dd auch befehlen. Zum Beispiel die dd Befehl kann verwendet werden, um ein Backup der Partitionstabelle zu erstellen, Texte und Dateien zu konvertieren, einen Bootloader auf eine Festplatte, SSD oder USB-Laufwerk zu installieren. Das dd Der Befehl kann auch verwendet werden, um die Leistung von Speichergeräten zu testen, z. B. die Latenz Ihrer Festplatte, die Lese- und Schreibgeschwindigkeit Ihrer Festplatte usw.

In diesem Artikel zeige ich Ihnen einige der häufigsten Verwendungen des dd Befehl unter Linux. Ich werde Debian 9 Stretch für die Demonstration verwenden. Aber es sollte auf jeder anderen Linux-Distribution funktionieren. Lass uns anfangen.

Erstellen eines bootfähigen USB-Laufwerks mit dd:

Erstellen Sie ein bootfähiges USB-Laufwerk Ihres bevorzugten Betriebssystems mit dem dd Befehl ist sehr einfach. Alles, was Sie brauchen, ist ein USB-Laufwerk und ein ISO oder IMG Image des Betriebssystems, von dem Sie einen bootfähigen USB-Stick erstellen möchten.

Nehmen wir an, Sie haben eine heruntergeladene ISO Image von Alpine Linux und die Datei wird im ~/Downloads Verzeichnis als Alpin-Standard-3.8.0-x86_64.iso

Jetzt können Sie alle angeschlossenen Speicher- oder Blockgeräte mit dem folgenden Befehl auflisten:

$ sudo lsblk

Wie Sie sehen, werden alle angeschlossenen Speicher- oder Blockgeräte aufgelistet. Hier, /dev/sdb ist mein USB-Stick. Es hat zwei Partitionen, /dev/sdb1 und /dev/sdb2. Aber wenn Sie bootfähige USB-Laufwerke erstellen, müssen Sie die /dev/sdb, das gesamte Blockgerät, keine Partitionen.

Machen Sie nun mit dem folgenden Befehl ein bootfähiges USB-Laufwerk von Alpine Linux:

$ sudo dd if=~/Downloads/alpine-standard-3.8.0-x86_64.iso of=/dev/sdb bs=1M

Hier, wenn=~/Downloads/alpine-standard-3.8.0-x86_64.iso Option wird verwendet, um zu sagen dd dass sich die Eingabedatei im Pfad befindet ~/Downloads/alpine-standard-3.8.0-x86_64.iso und von=/dev/sdb Option wird verwendet, um zu sagen dd dass sich die Ausgabedatei im Pfad befindet /dev/sdb. Die bs=1M erzählt dd auslesen ~/Downloads/alpine-standard-3.8.0-x86_64.iso und schreibe an /dev/sdb 1 Megabyte Daten auf einmal.

Wie Sie sehen, wird die ISO-Datei auf das Blockgerät kopiert /dev/sdb. Jetzt können Sie es verwenden, um Alpine Linux zu installieren.

Dieser Befehl ist sehr destruktiv. Das dd Befehl löscht die Partitionstabelle und andere Metadaten, Flags vom Blockgerät. Also musst du vorsichtig sein.

Fortschrittsbalken anzeigen:

Standardmäßig ist die dd Befehl zeigt keinen Fortschrittsbalken an. Aber du kannst es sagen dd um es mit dem zu zeigen Status=Fortschritt Möglichkeit.

Zum Beispiel, um Daten von copy zu kopieren /dev/sda zu /dev/sdb 1 Megabyte auf einmal und zeigen Sie auch den Fortschrittsbalken an, führen Sie den folgenden Befehl aus:

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

Wie Sie sehen, wird der Fortschrittsbalken angezeigt. Sie können sehen, wie viele Daten kopiert werden und mit welcher Geschwindigkeit sie kopiert werden.

Messung der Lese- und Schreibleistung eines Speichergeräts mit dd:

Sie können die Lese- und Schreibgeschwindigkeit eines Speichergeräts messen mit dd sehr leicht. Natürlich gibt es viele grafische Programme, die diese Informationen bereitstellen, aber die Liebhaber der Befehlszeile würden dies sehr interessant finden.

Zuerst müssen Sie die Partition oder das Speichergerät auf Ihrem Dateisystem mounten. Wenn Sie keine Partition auf Ihrem Speichergerät haben, können Sie sie jederzeit mit dem erstellen fdisk Befehl und formatieren Sie es in Ihr gewünschtes Dateisystem (wie z FAT32, EXT4, NTFS, XFS usw). Hier gehe ich davon aus, dass Sie eine Partition haben /dev/sdb1 und es ist formatiert als EXT4.

Sagen wir, du willst aufsteigen /dev/sdb1 partitionieren nach /mnt Verzeichnis und führen Sie dann den folgenden Befehl aus:

$ sudo mount /dev/sdb1 /mnt

Wie Sie sehen können, ist die Partition /dev/sdb1 ist montiert auf /mnt Verzeichnis.

$ df -h

Jetzt erstellen wir eine 1 GB Datei testrw in dem /mnt Verzeichnis mit dd:

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

Hier, zählen=1 bedeutet, lesen bs=1G das ist 1 Gigabyte von /dev/zero, und schreib es an /mnt/testrw Datei.

Das oflag=direkt Option wird verwendet, um das Disk-Caching zu deaktivieren. Wenn Disk-Caching aktiviert ist, erhalten Sie keine sehr genauen Ergebnisse.

HINWEIS: Denken Sie daran, dass Sie für diesen Vorgang über mindestens 1 GB freien Speicher oder RAM auf Ihrem Computer verfügen müssen. Wenn Sie sich nicht so viel freien Arbeitsspeicher leisten können, reduzieren Sie die bs-Größe. Stellen Sie beispielsweise ein bs=128M oder noch weniger, bs=64M.

Wie Sie sehen können, beträgt die Schreibgeschwindigkeit meines USB-Laufwerks etwa 6.1 MB pro Sekunde.

Sie können die Lesegeschwindigkeit Ihres Speichergeräts auch mit dem folgenden Befehl testen:

$ sudo dd if=/mnt/testrw of=~/Downloads/test bs=1G count=1 oflag=direct

Wie Sie sehen können, kann ich bei 4 read lesen.3 MB pro Sekunde.

Testen der Speichergerätelatenz mit dd:

Die Latenz eines Speichergeräts ist die Zeit, die benötigt wird, um auf das Gerät zuzugreifen. Es ist ein wichtiger Parameter, den wir mit Hilfe des dd Befehl.

Um die Latenz zu testen, können wir X-mal kleine Datenblöcke (ca. 512 Bytes gleichzeitig) schreiben oder lesen und sehen, wie lange es dauert. Dann können wir ganz einfach berechnen, wie lange es dauert, einen einzelnen Datenblock zu lesen oder zu schreiben. Dies wird als Latenz des Speichergeräts bezeichnet.

Angenommen, Sie möchten die Schreiblatenz berechnen. Führen Sie nun den folgenden Befehl aus, um etwa 1000 Mal einen 512-Byte-Block zu schreiben:

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

Wie Sie sehen, dauert es ungefähr 16.4541 Sekunden zu schreiben 1000 Stücke von 512 Byte Daten. Um nun einen einzelnen Datenblock zu schreiben, dauert es ungefähr (16.4541s / 1000 = 0.0164 s) 0.0164 Sekunden. Die Schreiblatenz beträgt also etwa 0.0164 Sekunden für dieses Speichergerät.

Sie können die Leselatenz auf die gleiche Weise berechnen.

So verwenden Sie dd und testen damit die Leistung eines I/O-Geräts. Danke, dass du diesen Artikel gelesen hast.

Schlacht um Wesnoth 1.13.6 Entwicklung veröffentlicht
Schlacht um Wesnoth 1.13.6, das letzten Monat veröffentlicht wurde, ist die sechste Entwicklungsversion im 1.13.x-Serie und bietet eine Reihe von Verb...
So installieren Sie League of Legends auf Ubuntu 14.04
Wenn Sie ein Fan von League of Legends sind, dann ist dies eine Gelegenheit für Sie, League of Legends zu testen. Beachten Sie, dass LOL von PlayOnLin...
Installieren Sie das neueste OpenRA-Strategiespiel auf Ubuntu Linux
OpenRA ist eine Libre/Free Real Time Strategy Game Engine, die die frühen Westwood-Spiele wie den Klassiker Command & Conquer: Red Alert Red nachbilde...