GästebuchIhr Eintrag in unser Gästebuch KontaktNehmen Sie Kontakt mit den Autoren auf ArchivAlle Unixwerk- Artikel seit 2003
14. Januar 2013

MiniTipp: I/O Statistiken eines laufenden «dd» anzeigen

Möchte man eine exakte Kopie einer Festplattenpartion anlegen oder eine Partition mit Zufallswerten vollschreiben ist dd das Mittel der Wahl.

Um z.B den Inhalt von

/dev/sda auf /dev/sdb zu kopieren, tippt man

# dd if=/dev/sda of=/dev/sdb bs=4M

Um /dev/sdb5 mit Zufallswerten vollzuschreiben dagegen tippte man

# dd if=/dev/urandom of=/dev/sdb5 bs=4M

Je nach Größe der Partition kann dieser Prozess durchaus mehrere Stunden in Anspruch nehmen. Am Ende aber gibt dd die I/O-Statistiken aus:

743+0 records in
743+0 records out
3116367872 bytes (3.1 GB) copied, 88.7885 s, 35.1 MB/s

Möchte man nun aber eine 2 TB große Partition mit Zufallswerten vollschreiben, würde man dann doch gerne etwas über den Fortschritt der Aktion erfahren - schließlich lässt sich die Kopiergeschwindigkeit schwer vorhersagen.

Dazu sendet man einfach ein USR1-Signal an den dd-Prozess und dd schreibt die I/O Statistiken nach stdout. Zunächst benötigen wir natürlich die Prozess-ID:

# ps -ef | grep -w '[d]d'
root     12731 11445  0 21:51 pts/1    00:00:00 dd if=/dev/random of=/dev/sdb5 bs=4M

Dann senden wir das USR1-Signal...

# kill -USR1 12731

und dd gibt den Kopierfortschritt aus, arbeitet aber weiter. Die Ausgabe erscheint natürlich auf dem Terminal, auf dem das dd-Kommando abgesetzt wurde und nicht dort, wo wir den kill-Befehl abgesetzt haben.

# dd if=/dev/urandom of=/dev/sdb5 bs=4M
0+1151 records in
0+1151 records out
9237 bytes (9.2 kB) copied, 0.391 s, 23.1 kB/s
_