Запись на диск с использованием `pv` кажется сначала быстрой и медленной в конце

Я писал изображение kubuntu на мой USB-накопитель, используя эту команду

pv /home/manuel/Downloads/torrents/kubuntu-16.10-desktop-amd64.iso > /dev/sdb

Однако индикатор выполнения pv был заполнен с самого начала. Следовательно, похоже, что передача началась с невероятной скоростью и существенно замедлилась.

1,49GiB 0:03:03 [8,31MiB/s] [===============// //===============>] 100%

Это делает использование команды pv довольно бесполезной.

Как отключить эта функция кеширования, которая, похоже, активирована?

0
задан 8 April 2017 в 12:09

3 ответа

Я нашел ваш пост, рассматривая аналогичную проблему, пытаясь записать изображение на SD-карту (через USB-ридер / запись).

Я нашел решение своей проблемы с помощью dd, pv и pipe и установил запись dd в прямой режим. Это также сильно повлияло на скорость записи. Я не знаю, есть ли какие-либо сторонние стороны использования этого метода (я прочитал изображение назад и выполнил контрольную сумму - и все выглядит нормально).

В моем примере используется изображение raspbian (2017-09) -07-raspbian-stretch-lite.img) размером 1854590976 байт (1,8 ГБ). Я показал несколько других методов, и вы можете видеть различия во времени.

Итак, используя dd | pv | dd с прямым режимом, потребовалось всего 2 минуты 57 секунд:

dd if=2017-09-07-raspbian-stretch-lite.img ibs=1M status=none | pv -s 1854590976 | dd of=/dev/sdX obs=1M oflag=direct status=none

(я прочитал изображение назад и выполнил контрольную сумму - и все получилось нормально).

Использование pv само по себе показывает 100% немедленно, но затем потребовалось 8 минут 28 секунд для завершения:

pv 2017-09-07-raspbian-stretch-lite.img > /dev/sdX

Используя dd самостоятельно без какого-либо прогресса, потребовалось 8 минут 15 секунд: [ ! d8] dd if=2017-09-07-raspbian-stretch-lite.img of=/dev/sdX bs=1M

Используя тот же самый dd, но добавление oflag = direct делает его 2 минуты 54:

dd if=2017-09-07-raspbian-stretch-lite.img of=/dev/sdX bs=1M oflag=direct

Я пробовал множество разных комбинаций, которые либо намного медленнее ( некоторые из них занимают до 12 минут!) или снова показывайте 100% сразу.

Одно из предостережений в использовании pv таким образом заключается в том, что вам нужно сначала выяснить размер изображения и указать его с помощью - s. Если вы пишете такие вещи, как я, достаточно просто определить размер файла в одно и то же время.

Надеюсь, это поможет кому-то.

2
ответ дан 18 July 2018 в 15:20

Я нашел ваш пост, рассматривая аналогичную проблему, пытаясь записать изображение на SD-карту (через USB-ридер / запись).

Я нашел решение своей проблемы с помощью dd, pv и pipe и установил запись dd в прямой режим. Это также сильно повлияло на скорость записи. Я не знаю, есть ли какие-либо сторонние стороны использования этого метода (я прочитал изображение назад и выполнил контрольную сумму - и все выглядит нормально).

В моем примере используется изображение raspbian (2017-09) -07-raspbian-stretch-lite.img) размером 1854590976 байт (1,8 ГБ). Я показал несколько других методов, и вы можете видеть различия во времени.

Итак, используя dd | pv | dd с прямым режимом, потребовалось всего 2 минуты 57 секунд:

dd if=2017-09-07-raspbian-stretch-lite.img ibs=1M status=none | pv -s 1854590976 | dd of=/dev/sdX obs=1M oflag=direct status=none

(я прочитал изображение назад и выполнил контрольную сумму - и все получилось нормально).

Использование pv само по себе показывает 100% немедленно, но затем потребовалось 8 минут 28 секунд для завершения:

pv 2017-09-07-raspbian-stretch-lite.img > /dev/sdX

Используя dd самостоятельно без какого-либо прогресса, потребовалось 8 минут 15 секунд: [ ! d8] dd if=2017-09-07-raspbian-stretch-lite.img of=/dev/sdX bs=1M

Используя тот же самый dd, но добавление oflag = direct делает его 2 минуты 54:

dd if=2017-09-07-raspbian-stretch-lite.img of=/dev/sdX bs=1M oflag=direct

Я пробовал множество разных комбинаций, которые либо намного медленнее ( некоторые из них занимают до 12 минут!) или снова показывайте 100% сразу.

Одно из предостережений в использовании pv таким образом заключается в том, что вам нужно сначала выяснить размер изображения и указать его с помощью - s. Если вы пишете такие вещи, как я, достаточно просто определить размер файла в одно и то же время.

Надеюсь, это поможет кому-то.

2
ответ дан 24 July 2018 в 20:37
  • 1
    Хороший подробный ответ, но исходя из ваших результатов, трубопровод dd через pv не имел заметного эффекта, и это было добавление опции oflag=direct, которая привела к увеличению скорости. – Hashim 8 May 2018 в 02:25

Я нашел ваш пост, рассматривая аналогичную проблему, пытаясь записать изображение на SD-карту (через USB-ридер / запись).

Я нашел решение своей проблемы с помощью dd, pv и pipe и установил запись dd в прямой режим. Это также сильно повлияло на скорость записи. Я не знаю, есть ли какие-либо сторонние стороны использования этого метода (я прочитал изображение назад и выполнил контрольную сумму - и все выглядит нормально).

В моем примере используется изображение raspbian (2017-09) -07-raspbian-stretch-lite.img) размером 1854590976 байт (1,8 ГБ). Я показал несколько других методов, и вы можете видеть различия во времени.

Итак, используя dd | pv | dd с прямым режимом, потребовалось всего 2 минуты 57 секунд:

dd if=2017-09-07-raspbian-stretch-lite.img ibs=1M status=none | pv -s 1854590976 | dd of=/dev/sdX obs=1M oflag=direct status=none

(я прочитал изображение назад и выполнил контрольную сумму - и все получилось нормально).

Использование pv само по себе показывает 100% немедленно, но затем потребовалось 8 минут 28 секунд для завершения:

pv 2017-09-07-raspbian-stretch-lite.img > /dev/sdX

Используя dd самостоятельно без какого-либо прогресса, потребовалось 8 минут 15 секунд: [ ! d8] dd if=2017-09-07-raspbian-stretch-lite.img of=/dev/sdX bs=1M

Используя тот же самый dd, но добавление oflag = direct делает его 2 минуты 54:

dd if=2017-09-07-raspbian-stretch-lite.img of=/dev/sdX bs=1M oflag=direct

Я пробовал множество разных комбинаций, которые либо намного медленнее ( некоторые из них занимают до 12 минут!) или снова показывайте 100% сразу.

Одно из предостережений в использовании pv таким образом заключается в том, что вам нужно сначала выяснить размер изображения и указать его с помощью - s. Если вы пишете такие вещи, как я, достаточно просто определить размер файла в одно и то же время.

Надеюсь, это поможет кому-то.

2
ответ дан 31 July 2018 в 23:38
  • 1
    Хороший подробный ответ, но исходя из ваших результатов, трубопровод dd через pv не имел заметного эффекта, и это было добавление опции oflag=direct, которая привела к увеличению скорости. – Hashim 8 May 2018 в 02:25

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

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