Как определить максимальный размер байта для команды dd

Я знаю, что выполнение dd if = /dev /hda of = /dev /hdb делает копию глубокого жесткого диска. Я слышал, что люди смогли ускорить процесс, увеличив количество байтов, которые считываются и записываются за один раз (512) с опцией «bs».

Мой вопрос:

Что определяет размер идеального байта для копирования с жесткого диска?

и

Почему это определяет размер идеального байта?

21 голос | спросил James T 3 J0000006Europe/Moscow 2010, 21:43:08

3 ответа


17

Как говорит Крис С, оптимальный размер блока зависит от оборудования. По моему опыту он всегда больше, чем 512 байт по умолчанию. Если ваша работа с необработанными устройствами, то геометрия вышележащей файловой системы не будет иметь никакого эффекта. Я использовал сценарий ниже, чтобы помочь «оптимизировать» размер блока dd.

#!/bin/bash
#
#create a file to work with
#
echo "creating a file to work with"
dd if=/dev/zero of=/var/tmp/infile count=1175000

for bs in  1k 2k 4k 8k 16k 32k 64k 128k 256k 512k 1M 2M 4M 8M 

do
        echo "Testing block size  = $bs"
        dd if=/var/tmp/infile of=/var/tmp/outfile bs=$bs
        echo ""
done
rm /var/tmp/infile /var/tmp/outfile
ответил ShaneH 18 Jpm1000000pmWed, 18 Jan 2012 13:42:20 +040012 2012, 13:42:20
1

К сожалению, идеальный размер будет зависеть от вашей системной шины, контроллера жесткого диска, конкретного диска и драйверов для каждого из них. Единственный способ найти идеальный размер - это продолжать попытки разных размеров. Справедливое предупреждение о том, что некоторые устройства поддерживают только один размер блока, хотя это редко, и обычно драйверы все равно различаются.

Я нахожу, что размер блока 2 ^ 15 или 2 ^ 16 лучше всего подходит для моих SATA-накопителей WDC (8 МБ), подключенных к RAID-контроллеру Adaptec SAS, 4x PCIe, 64-битным FreeBSD 8.0-STABLE. Но для моего дешевого старого флеш-накопителя размеры 2 ^ 10 кажутся самыми быстрыми.

«Идеальный размер» почти всегда равен двум.

ответил Chris S 3 J0000006Europe/Moscow 2010, 21:54:56
0

Я могу поручиться за заслуги в измерении результатов выполнения теста на используемом устройстве до траты в любое время. Я глупо не беспокоился и после измерения, а затем менял размер моего блока, сократил мою DD длительность передачи 590Gb пополам. То же самое значение BS уменьшило бы время на 20% при использовании другой комбинации caddy /drive.

ответил Bernster 19 FebruaryEurope/MoscowbSun, 19 Feb 2017 17:22:22 +0300000000pmSun, 19 Feb 2017 17:22:22 +030017 2017, 17:22:22

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132