
Ich möchte ein Bild auf einen USB-Stick kopieren. Da ich „echte“ Geschwindigkeiten erreichen möchte und nicht ewig warten möchte, bis das Gerät nach dem Kopieren des Bildes synchronisiert ist, würde ich gerne wissen, welche Optionen ich dafür verwenden kann.
Antwort1
Lesen Sie durch dieQuellcodezeigt, dass Sie auch nach der Option fragen sollten nocache
. Die direct
Option sollte Ihnen das gewünschte Ergebnis liefern, aber es hängt auch davon ab, dd
mit welcher Version Sie herumspielen. Beim Erstellen einer großen Kopie auf einem Ubuntu 11.04-System zeigte sich, dass die Zeiten mit der dsync
Option, die synchronisierte E/A für Daten verwendet, sogar noch langsamer (= näher an der Realität?) waren, wodurch wahrscheinlich der Aggregationsvorteil verloren geht, den uns moderne Festplattencontroller bieten. Um „genau“ zu wissen, was vor sich geht, müssen Sie sich in den Quellcode des jeweiligen Kernels vertiefen, den Sie verwenden, aber selbst dann sind Sie der Schnittstellenkarte auf dem Laufwerk ausgeliefert, die ihre eigene Pufferung durchführt.
Antwort2
Die Option fsync leert die Daten am Ende des Kopiervorgangs. Die Option dsync leert die Daten nach jedem Block. Die Option direct hat ähnliche Ergebnisse wie dsync, nur dass der Dateisystemcache nicht mit den Daten belastet wird. Dies ist gut für das Zwischenspeichern des restlichen Systems und spart etwas CPU-Overhead.
Entweder dsync oder direkt führen zu einem geringeren Durchsatz, aber das kann größtenteils durch die Verwendung einer großen Blockgröße, beispielsweise 1 MB oder mehr, ausgeglichen werden.