Ich habe derzeit Probleme beim ddAufrufen mit einer Datei mit geringer Dichte als Eingabe ( if) und einer Datei als Ausgabe ( of) mit conv=sparse. ddAnscheinend wird nur ein Kern der CPU ( Intel(R) Core(TM) i7-3632QM CPU @ 2.20GHz4 Kerne + 4 Intel Hyperthreads) verwendet (100% von 1 Kern), daher habe ich mich gefragt, ob eine Parallelisierung möglich ist dd. Ich war
- Ein Blick in
info ddundman ddund es scheint eine eingebaute Funktion in der Version von Corutils 8.23 zu geben - Überprüfung
sgp_ddaus demsg3-utilsPaket (ohne zu verstehen, ob es meinen Anforderungen entspricht), aber es scheint nicht in der Lage zu sein, spärliche Dateien zu verarbeiten dcflddscheint keine Parallelisierungsfähigkeiten zu haben
so viel ich weiss
- Eine erweiterte Version / Verzweigung mit interner Behandlung von Programmteilen in mehreren Threads (vermeiden Sie Kontextänderungen, die die E / A-Leistung beeinträchtigen) wird bevorzugt
- Eine Lösung mit
parallellokal ausgeführtem GNU wird gegenüber einer Lösung bevorzugt - ein benutzerdefiniertes (möglicherweise nicht getestetes) Code-Sniplet
Wie kann vermieden werden, dass die CPU der Engpass eines E / A-intensiven Vorgangs ist? Ich möchte den Befehl unter Ubuntu 14.04 unter Linux 3.13 ausführen und damit spärliche Datei-Disk-Images auf jedem Dateisystem verarbeiten, das spärliche Dateien unterstützt (zumindest sollte die Lösung nicht an ein bestimmtes Dateisystem gebunden sein).
Hintergrund: Ich versuche, eine Kopie einer 11-TB-Sparse-Datei (mit ca. 2 TB Daten) auf einem zfs zu erstellen (zfsonlinux 0.6.4 instabile Version, möglicherweise fehlerhaft und die Ursache für den CPU-Engpass (eventuell langsame Lochsuche)). Das sollte nichts an der Frage ändern, wie man dd parallelisiert (auf sehr generische Weise).
ddDie CPU wird aufgrund der geringen Blockgröße standardmäßig belastet. mach es größer, wie bs=1M.