Mac OS X ve Linux'ta dd performansı


18

Bir disk yazma önlemek için bir sabit disk üzerine windows yükleyici bir iso kopyalamaya çalışıyordu. İlk olarak Disk İzlencesi'nin geri yükleme işlevini denedim, ancak bir nedenden dolayı ISO'yu beğenmedi. Sonra dd kullanarak denedim:

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

Dosyayı yaklaşık 160 KB / sn'lik bir salyangoz hızında kopyaladığını fark ettim. Linux kurulumumu yeniden başlattım ve komutu tekrar söyledim, neredeyse kelimesi kelimesine:

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

Bu kez komut bir dakikadan az bir sürede, ortalama hızı 57 MB / sn. Her iki durumda da kaynak ve hedef aynı fiziksel sabit sürücülerdi. Neler oluyor?

OSX 10.7.3 ve Linux 2.6.38-13 kullanıyorum.


1
Hmm, linux'un bsparametresiz kadar yavaş gitmesini beklerdim . ddLinux'ta kurulum için bir takma adınız var mı ( aliasistemde yazın)?
Paul

Yanıtlar:


28

OS X için kullanın /dev/rdisk3.

Bazı nedenlerden rdiskdaha hızlıdır disk. Ben tamponlar ile ilgili olduğuna inanıyorum.

Ayrıca genel olarak bsbayrağı kullanarak ddhız ile yardımcı olur.

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

Bayt boyutu daha hızlı aktarılan 1M'dir. OS X'te 1mbunun yerine (küçük harf) kullanmanız gerekir 1M.


Teşekkür ederim ! Eklemeyi unutmuştum bs=1mve cehennem gibi yavaştı!
LoremIpsum

4
OS X'teki küçük m harfiyle ilgili yorum cankurtaran oldu. Çok teşekkür ederim!
Jonathan Komar

0

BSD ham diskleri

BSD'lerin genel olarak 2 disk aygıtı tipi vardır: bufferend ve tamponsuz (raw). Gönderen hdutil(1)adam sayfası:

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. paragraf nedeniyle, "ham modda" kullanabilmek için diskin sökülmesi gerekir dd.

dd blok boyutu

Gönderen dd(1)adam sayfası:

     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.

Varsayılan blok boyutu 512 bayttır ...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.