продуктивність на Mac OS X проти Linux


18

Я намагався скопіювати ізолятор інсталятора Windows на жорсткий диск, щоб не записати диск. Я спершу спробував відновити функцію Disk Utility, проте ISO чомусь не сподобався. Потім я спробував використовувати dd:

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

Я зрозумів, що це копіювання файлу зі швидкістю равлика, приблизно 160 Кб / сек. Я перезавантажив свою установку Linux і запустив команду знову, майже дослівно:

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

Цього разу команда виконувалась за хвилину із середньою швидкістю 57 Мб / сек. В обох випадках джерело та місце призначення були однаковими фізичними жорсткими дисками. Що відбувається?

Я працюю на OSX 10.7.3 та Linux 2.6.38-13.


1
Гм, я б очікував, що Linux буде так само повільним, без bsпараметра. Чи є у вас псевдонім для ddустановки в Linux (введіть aliasпідказку)?
Пол

Відповіді:


28

Для OS X використовуйте /dev/rdisk3.

Чомусь rdiskшвидше, ніж disk. Я вважаю, що це стосується буферів.

Також загалом використання bsпрапора з допомогою ddдопомагає зі швидкістю.

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

Розмір байтів - 1 М, який передається швидше. В OS X ви повинні використовувати 1m(малі літери) замість 1M.


Дякую ! Я забув додати, bs=1mі це було повільно, як пекло!
LoremIpsum

4
Коментар про малий регістр m в OS X був рятівником. Велике спасибі!
Джонатан Комар

0

BSD-сировинні диски

Загалом BSD мають два типи дискових пристроїв: Bufferend та unbuferi (raw). На hdutil(1)чоловіковій сторінці:

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-й абзац, диск повинен бути відключений, щоб мати можливість користуватися ddним у "сирому режимі".

dd блокує розмір

З dd(1)чоловічої сторінки:

     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 байт ...

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.