回転しているUSBスピンドライブからSSDにRAWファイルをDDしようとしています。圧縮しようとしました(しかし、明らかにコピーする前に拡張する必要があります)。 arm7 GB RAMデバイスの詳細を見たことがありますが、一度に利用可能な処理能力の27%〜50%のみを使用してください。コピー時間を3時間に短縮しようとしていますが、今は6時間以上かかりますね。
私はbs = 1mを使用していますが、DDを改善するために何ができるのかわかりません。とにかく、プロセスを分岐してプロセッサを活用できますか?
暗号化されたボリュームでDDingを実行するためにtruecryptフォークを使用しています。これにより、速度が遅くなることがわかっているので、圧縮してシステムの復号化作業を減らし、解凍する必要があります。
答え1
Linuxベースのシステムを使用している場合は、cat
以下を使用してください。dd
cat source.img >/dev/destdisk
ただし、実際にはディスクのIO速度に関連付けられているデータバス、つまり回転ディスクがデータを転送できる速度と、使用しているUSBタイプの速度を考慮する必要があります。
結論:100%CPUバインドされている場合、ソフトウェアは何かを実行できますが、ここではほぼ確実にIOバインドされます。
~によるとcat(1) が dd(1M) より速く実行される理由このユーティリティは同じブロックサイズでもcat
高速です。 (この記事ではその理由を説明します。使用法のためではなく使用法のdd
ためのようです。)cat
mmap()
dd
答え2
ボトルネックは確かにUSBドライブ/USBケーブル/USBバスです。
ファイルコピーは、CPUを多用することはまったくありません。 CPUは実際に最高速度で実行する必要がないため、ストレスを受けません。
データがUSBデバイスからRAMに圧縮されていない状態で転送され、同じボトルネックが発生するため、圧縮をまったく使用する必要はありません。
使用しているUSBポートがUSBドライブの最大速度にボトルネックを引き起こさないことを確認する以外に、できることはあまりありません。たとえば、1つのUSB 2.0ポートと1つのUSB 3.0ポートがあり、USBドライブがUSB 3.0の場合)。互換性がある場合は、USBドライブをUSB 3.0ポートに挿入してください.)