Как я могу узнать, как долго будет выполняться клонирование dd? [Дубликат]

Нажмите на экран загрузки, чтобы загрузить меню grub:

Выберите дополнительные параметры для ubuntu. Затем выберите первый вариант, который заканчивается (режим восстановления). При загрузке появляется меню. От этого выберите drop Корневая оболочка Изменить то, что вы хотите отредактировать
1
задан 1 January 2013 в 15:53

3 ответа

Типичный. Когда я что-то спрашиваю, я как-то нахожу ответ (даже если бы я искал несколько часов ... но волшебным образом я нахожу его ПОСЛЕ создания вопроса -.-). Во всяком случае, для того, что я проверил с помощью dd --help, который упоминает в конце справки (я не могу поверить, что не видел THAT) следующее:

Sending a USR1 signal to a running `dd' process makes it
print I/O statistics to standard error and then resume copying.

   $ dd if=/dev/zero of=/dev/null& pid=$!
   $ kill -USR1 $pid; sleep 1; kill $pid
   18335302+0 records in
   18335302+0 records out
   9387674624 bytes (9.4 GB) copied, 34.6279 seconds, 271 MB/s

Что это означает, что в другом терминал вы будете запускать следующую строку, используя идентификатор процесса DD, который вы хотите проверить. Например, в моем случае есть Идентификатор процесса 4112. Вы можете увидеть идентификатор процесса, набрав ps -e и выбрав dd или только ps -e|grep dd и посмотрев номер спереди. Обратите внимание на это число, а затем введите другое окно терминала kill -USR1 4112; sleep 1;. Это даст мне время, секунды, прошедшие с момента его начала и сколько скопировано. По крайней мере, теперь я знаю, что для копирования 1 ТБ информации требуется около 8 часов со скоростью около 40 МБ / с.

26
ответ дан 25 May 2018 в 13:42
  • 1
    pv гораздо удобнее. – Mechanical snail 1 January 2013 в 06:14
  • 2
    Это не работало на OSX, оно просто убило его ... что несчастливо, поскольку он уже работал в течение часа ... :( – balupton 31 March 2014 в 22:33
  • 3
    @balupton настоятельно рекомендую вам опубликовать это как ошибку в панели запуска. Возможно, что-то связано со всем OSX или вашим конкретным случаем. Просто попробовал прямо сейчас (не OSX), и это сработало, поэтому вы можете быть гордым владельцем огромной ошибки. Убей его! – Luis Alvarado♦ 1 April 2014 в 02:18
  • 4
    НЕ запускайте kill $pid. Это может привести к удалению копии. @Luis ваш ответ немного скуповатый. Все, что вам нужно сделать, это запустить ps -a | grep dd, а затем отправить сигнал на приобретенный pid kill -USR1 123456789 (где «123456789» - это pid). – Nux 6 September 2015 в 10:05
  • 5
    @nux Привет друг и спасибо за комментарий. В этом случае он поступает непосредственно с man-страницы. На всякий случай, для DD, когда он получает фиктивный USR1, он ведет себя как более подробный журнал, поэтому он выводит последнюю строку, указанную в примере. – Luis Alvarado♦ 8 September 2015 в 04:10

Что касается использования kill для отображения информации на Mac, вы должны передать ему флаг -INFO вместо флага -USR1. И помните, что он показывает информацию в терминале, где работает ваш dd-процесс, поэтому, если вы откроете новую вкладку, чтобы ввести kill -INFO $PID (где $PID - номер, который вы нашли с помощью ps -e | grep dd), вам придется вернитесь к вкладке, где dd работает, чтобы увидеть результат.

Теперь, если бы я мог понять, как отображать этот вывод как GB или MB вместо простых байтов ...

8
ответ дан 25 May 2018 в 13:42

Существует еще один расширенный dd, называемый dcfldd, который делает много забавных вещей, поскольку это вы запрашиваете для http://dcfldd.sourceforge.net/

sudo apt-get install dcfldd Вместо dd вы напишите dcfldd
4
ответ дан 25 May 2018 в 13:42
  • 1
    +1, но последнее обновление для этого приложения было в 2006 году. Даже если это сработает, я все равно буду падать с нормальным dd или pv, пока не попробую dcfldd с большим количеством не важной информации. – Luis Alvarado♦ 12 March 2013 в 20:59

Другие вопросы по тегам:

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