こんにちは、
Windowsのハードディスクを入れ替えようと
dd を使ってみてその遅さにガックリきていろいろ調べてみました。
dd if=/dev/ad1s1 of=/dev/ad2s1 ibs=512 obs=64K conv=noerror,sync
knoppixやCentOSで試してみると 20M/sec ぐらいで使えるのですが
FreeBSDで試すと 3M/sec 程度で使い物にならないのですが
何が原因なんでしょうか?
当然 ibs= を大きく設定すれば早くなるのですが不良セクタのあるディスクから
conv=noerror,sync ですので、ibs=512 です。
Tue, 14 Sep 2010 20:54:28 +0900
ke...@kens.fm ke...@kens.fm said:
dd if=/dev/ad1s1 of=/dev/ad2s1 ibs=512 obs=64K conv=noerror,sync
knoppixやCentOSで試してみると 20M/sec ぐらいで使えるのですが
FreeBSDで試すと 3M/sec 程度で使い物にならないのですが
何が原因なんでしょうか?
PATA ですか? PIO に落ちてるとかでは?
dmesg|grep '^ad[12]:'
--
Yu Oasa
ke...@kens.fm ke...@kens.fm wrote
in 20100914203000.2025.f7f21...@kens.fm:
ke こんにちは、
ke
ke Windowsのハードディスクを入れ替えようと
ke dd を使ってみてその遅さにガックリきていろいろ調べてみました。
ke
ke dd if=/dev/ad1s1 of=/dev/ad2s1 ibs=512 obs=64K conv=noerror,sync
ke
ke knoppixやCentOSで試してみると 20M/sec ぐらいで使えるのですが
ke FreeBSDで試すと 3M/sec
ありがとうございます
PATA ですか? PIO に落ちてるとかでは?
DMAが有効になっているかどうかは、すでに調べてありました。
dmesg FreeBSD
--
ad0: 58644MB Maxtor 6Y060L0 YAR41BW0 at ata0-master UDMA100
ad2: 39205MB Maxtor 6E040L0 NAR61590 at ata1-master UDMA100
ad3: 78167MB Maxtor 6L080P0 BAH41E00 at ata1-slave UDMA100
dmesg Linux
--
hda: 120103200
たかはしといいます。
何も解決はしないんですが…
FreeBSD が遅いというよりは、 ibsを小さくしても速度が変わらないlinuxのほうが不思議な挙動に見えます。
どこかでキャッシュされてるんじゃ…
2010年9月15日9:15 ke...@kens.fm ke...@kens.fm:
ありがとうございます
PATA ですか? PIO に落ちてるとかでは?
DMAが有効になっているかどうかは、すでに調べてありました。
dmesg FreeBSD
--
ad0: 58644MB Maxtor 6Y060L0 YAR41BW0 at ata0-master
ke...@kens.fm ke...@kens.fm wrote
in 20100915083414.0de4.f7f21...@kens.fm:
ke でも、Linuxのddがibs=512でも早くて、FreeBSDのddが同じ条件で、とてつもなく遅いことの
ke 解決にはならないので、引き続き情報をお待ちします。
Linux (というか GNU coreutils) と FreeBSD の dd では、
ibs と obs を指定した時のバッファリングのしかたが違うので、
同じ条件にはなっていないと思います。
同じコマンドライン引数で同じ性能になってほしい、というのを
橋谷と申します。
ちょっと気になったので、いくつかテストしてみました。
/dev/hdbはマウントなどしていない「つながっているだけ」のHDDです。
ちょっと見にくいですが...
# uname -a
Linux vdebian 2.6.18-6-686 #1 SMP Thu Nov 5 16:28:13 UTC 2009 i686 GNU/Linux
# vmstat -d | egrep '^(disk||hdb)'
disk- reads writes--- -IO--
ありがとうございます
同じコマンドライン引数で同じ性能になってほしい、というのを
解決と表現されているのでしたら
そうでは無いのですが
私はどのOSでもddは同じものだと思っていたので
こうだからFreeBSDでは速度が出ないんだよと
わかる方いらっしゃいましたら
と尋ねておりましたが、おかげさまでスッキリしました。
--
Linux (というか GNU coreutils) と FreeBSD の dd では、
ibs と obs を指定した時のバッファリングのしかたが違う
--
Linux の場合は先読みが働いている
--
と言うことですね。