Mac OS XとLinuxのddパフォーマンス


18

ディスクの書き込みを避けるために、Windowsインストーラーのisoをハードドライブにコピーしようとしていました。最初にディスクユーティリティの復元機能を試しましたが、何らかの理由でISOが好きではありませんでした。次に、ddを使用してみました。

dd if=/path/to/image.iso of=/dev/disk3

カタツムリのペースで約160 KB /秒でファイルをコピーしていることに気付きました。Linuxインストールをリブートして、コマンドをほぼ一字一句実行しました。

dd if=/path/to/image.iso of=/dev/sdc

今回はコマンドが1分以内に実行され、平均速度は57 MB /秒でした。どちらの場合も、ソースと宛先は同じ物理ハードドライブでした。どうしたの?

OSX 10.7.3およびLinux 2.6.38-13を実行しています。


1
うーん、私はLinuxの1つがbsパラメータなしで同じくらい遅くなると予想しています。ddLinux でのセットアップのエイリアスはありますaliasか(プロンプトで入力します)?
ポール

回答:


28

OS Xの場合、を使用します/dev/rdisk3

何らかの理由rdiskでの方が高速ですdisk。バッファに関係していると思います。

また、一般的にbsフラグを使用ddすると、速度が向上します。

dd if=/path/to/image.iso of=/dev/sdc bs=1M

バイトサイズは1Mで、より高速に転送されます。OS X 1mでは、の代わりに(小文字)を使用する必要があり1Mます。


ありがとうございました !私は追加するのbs=1mを忘れていたが、それは地獄のように遅かった!
LoremIpsum 14年

4
OS Xの小文字のmに関するコメントは命の恩人でした。どうもありがとうございました!
ジョナサンKomar

0

BSD rawディスク

BSDには一般に、バッファエンドとバッファなし(raw)の2つのディスクデバイスタイプがあります。hdutil(1)manページから:

DEVICE SPECIAL FILES
     Since any /dev entry can be treated as a raw disk image, it is worth
     noting which devices can be accessed when and how.  /dev/rdisk nodes
     are character-special devices, but are "raw" in the BSD sense and
     force block-aligned I/O. They are closer to the physical disk than
     the buffer cache. /dev/disk nodes, on the other hand, are buffered
     block-special devices and are used primarily by the kernel's
     filesystem code.

     It is not possible to read from a /dev/disk node while a filesystem
     is mounted from it, ...

2番目の段落のため、「rawモード」で使用できるようにするには、ディスクをマウント解除する必要がありddます。

ddブロックサイズ

dd(1)manページから:

     Where sizes are specified, a decimal, octal, or hexadecimal number of bytes
     is expected.  If the number ends with a ``b'', ``k'', ``m'', ``g'', or ``w'',
     the number is multiplied by 512, 1024 (1K), 1048576 (1M), 1073741824 (1G) or
     the number of bytes in an integer, respectively.  Two or more numbers may be
     separated by an ``x'' to indicate a product.

デフォルトのブロックサイズは512バイトです...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.