пятница, 12 июля 2013 г.

Четыре прогресс индикатора для dd (four of dd progress indicators)

Привет, о многоуважаемый олл.

1.
Озадачился массированным dd и по старой памяти сделал в 2х консолях:
консоль-a. #dd if=/dev/sdaX of=sdaX.dat
консоль-b. #watch -n 60 killall -USR1 dd

Запустился процесс которому идти часов эдак 30... пока бродил по простора минтернета увидел еще упомянание про замечательную программу pv - Показывающую прогресс индикатор для пайпа. Решил проверить сие детище:

2.
#apt-get install pv
#pv -tperb /dev/sdaX|dd of=sdaX.dat
Получил:
  20GB 0:24:10 [14,1MB/s] [==================================>] 100%           
41943040+0 записей считано
41943040+0 записей написано
 скопировано 21474836480 байт (21 GB), 1450,65 c, 14,8 MB/c

Для проверки скорости на тестовой партиции запустил:
#dd if=/dev/sdaX of=sdaX.dat в одной консоли и
#watch killall -n 60 -USR1 dd в другой.
Получил:

41943040+0 записей считано
41943040+0 записей написано
 скопировано 21474836480 байт (21 GB), 1154,24 c, 18,6 MB/c

Получил ускорение на 25% за отказ от красивостей работающих через пайп.

Вот такие результаты. Хотел уже убить работающий 5 часов dd чтобы получить красивый прогресс индикатор с прогнозированием времени от pv, но сделав тест обрадовался что не сделал этого раньше.

Вывод: Обычный dd работает на 15% ,быстрее чем pv|dd

P.S. Прошло время, узнав про еще 2 варианта прогресс индикатора и дописал их в заметку.

3.
Ту же самую операцию можно сделать с помощью интерактивного dd называющегося: dcfldd
#apt-get install dcfldd
#dcfldd if=/dev/sdaX of=sdaX.dat
Этот прогресс индикатор показвает лишь количество записанного

4.
Есть еще комманда: bar
#apt-get install bar
#bar /dev/sdaX|dd of=sdaX.dat

Результат:
 350.0MB at   58.3MB/s  elapsed:   0:00:06
Copied: 367001600B (350.0MB)
Time:  6 seconds
Throughput: 61166933B (58.3MB/s)

713963+5505 записей считано
716800+0 записей написано
 скопировано 367001600 байт (367 MB), 5,90459 c, 62,2 MB/c

На этом пока все.

всех благ,
0лег.

Комментариев нет:

Отправить комментарий