Как стать автором
Обновить

Комментарии 94

Столько еще неизвестного и полезного ожидает тебя, друг!
Весьма удобно. Будем пользоваться.
Спасибо вам.
/*пошел переписывать скрипты
НЛО прилетело и опубликовало эту надпись здесь
Отличное начало =) Поздравляю!
Классная вещь. Хочу такое же в PowerShell, и Write-Progress даже не предлагайте. Пошел помотреть, как бы такую штуку сделать.
Вот как Linux помогает развиваться Windows… :)
Я бы хотел узнать у уважаемого сообщества — а за что минусы? Не хочу никого обидеть, но что за снобизм (простите — хотя и знаю, что не простите, а заминусуете еще больше)? Что, Linux становится некошерным, если в посте про POSIX программу упоминается (в положительном смысле) Windows? или это плохо, если в PowerShell будет утилита похожая на pv?

В любом случае — даже если ответ на все вопросы «да», хотелось бы услышать об этом, вместо молчаливых минусов. Ну так, чтобы знать в будущем, о чем не стоит говорить (даже если думаешь).

Спасибо.
я тоже хочу такую-же штуку в PowerShell. а минусуют вас вероятно те, кто только-что узнал об этой утилите, установил, и желает чтобы вы им завидовали :)
В том-то все и дело! Поставил минус, значит не согласен — ну так объясни. Понятно, что минуснуть легко, а объяснить труднее. Но, если уж принял на себя груз (или это удовольствие?) минуснуть — так объясни, почему (говоря более формальным языком, я бы сказал что в голосовании «плюсануть» и «минусонуть» несимметричны — в случае согласия не нужно выражать свое мнение, так как оно выражено заранее. При несогласии, как минимум, слегка отличное мнение присутствует, и поделиться им не помешало бы).

В конце-концов, мы все тут уж точно не с целью испортить друг другу настоение.

Или я ошибаюсь?

В конце концов, плюньте вы на мой комментарий! Просто задумайтесь — минусуете молчаливо (возможно, портите желание вообще в будущем участвовать в жизни Хабра). Ну так возьмите за труд объяснить! Это просто — нужно только нажать 10-20 клавиш :)
>> чтобы знать в будущем, о чем не стоит говорить (даже если думаешь)

О том что думаешь, говорить нужно, невзирая на обстоятельства. И это я не только про хабр.
НЛО прилетело и опубликовало эту надпись здесь
Спасибо, хорошая утилита!
НЛО прилетело и опубликовало эту надпись здесь
ваш пример гениален:)
pv /dev/zero > /dev/null
10GB 0:00:03 [3,11GB/s] [                  <=>                     ]
pv /dev/zero > /dev/null
15GB 0:00:15 [7,69GB/s] [                                <=>                             ]

:)
pv /dev/zero > /dev/null
3GB 0:00:06 [8,74GB/s] [ <=> ]

Альфа 3 убунты 9.10. Скорость работы дисковой подсистемы возросла?
При чем здесь работа дисковой подсистемы?! /dev/zero и /dev/null никак не связаны с дисковой системой (ну только тем, что их можно использовать как настоящие файлы :)).

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

У меня был тест на Linux Mint 7.0 (основан на Ubuntu 9.04).

На моем десктопе — Core 2 Duo E8200 (2.66ГГц), разогнанный до 3.4ГГц + DDR2 2048 Mb PC-8500 (1066MHz) Corsair (2x1024). Результат: 7.7GB/s
На моем домашнем сервере Celeron Dual-Core (1.66ГГц) + DDR2 2048 Mb PC-6400 (800Mhz) Samsung. Результат: 5,03GB/s
AX2 4000+, 2x1024Мб Hynix DDR2-800 — 7.03GB/s
так что все относительно
Разогнанный C2D E8200 явно мощнее стокового AX2 4000+, да и память… Однако разница всего в 700Мб/сек
Извините, я ошибся. Я думал, что у меня разогнанный процессор и память на всю работает… Я совсем забыл, что с такой жарищей наоборот понизил все. На 7.7Гб/сек у меня стоял процессор на 2.33ГГц и память работала на 800Мгц.

Для нового теста я поднял частоту процессора до 3.55ГГц и память — 1066МГц. В результате получилось 10.2Гб/сек.

Еще раз, извиняюсь. Но C2D явно мощнее AX2… Эх, было время я тоже AMD любил…
Да, точно не причем.

А насчет ускорения в 9.10 все таки похоже что так и есть.
У меня 8.7GB/s выдает на Core2Duo 4600 разогнаного до 3ГГц + DD2 2048 1066 Mhz.
[web@server1 ~]$ pv /dev/zero > /dev/null
82.1GB 0:00:09 [9.15GB/s] [ <=> ]

:)
передаю привет из будущего, с офисного компа.

$ pv /dev/zero > /dev/null
878GiB 0:00:53 [16,6GiB/s] [ <=> ]
Ага, спустя 6 лет: Core I5 2500K 17,8 GiB/s. До Мура не дотягивает, всего в два раза возросло! Хотя скорее всего дело в памяти — она вроде не так сильно ускорялась, как процессоры. +Судя по htop'у загружается только одно ядро.
А из urandom'а 21 MiB/s — тут разница с 2009 годом заметнее.

И Вам привет из будущего. 5950x, B550, DDR2400

pv /dev/zero > /dev/null
462GiB 0:00:22 [21,3GiB/s] [ <=> ]

pv /dev/urandom > /dev/null
9,69GiB 0:00:20 [ 497MiB/s] [ <=> ]

Ещё есть зависимость от того, каков размер блоков при копировании:

$ pv /dev/zero > /dev/null
42,1GB 0:00:06 [7,05GB/s] [ <=> ]

$ dd if=/dev/zero of=/dev/null bs=1M count=40K
40960+0 записей считано
40960+0 записей написано
скопировано 42949672960 байт (43 GB), 4,22341 c, 10,2 GB/c

$ # Ну или с перенаправлением (какая разница :)

$ dd if=/dev/zero bs=1M count=40K > /dev/null
40960+0 записей считано
40960+0 записей написано
скопировано 42949672960 байт (43 GB), 4,2467 c, 10,1 GB/c
Правда, надо сделать поправку на то, что pv считает GB = 230, а dd — понятно что (109). Тогда в первом тесте в терминах dd будет скорость 7.57 GB/c (всё равно разница заметна).
фаллометрия детектед ;)))
pv /dev/zero > /dev/null
7GiB 0:00:08 [13,4GiB/s] [ <=> ]
pv /dev/zero > /dev/null
67GB 0:00:19 [14,1GB/s]
pv /dev/urandom > /dev/null
80MB 0:01:10 [5,32MB/s]

Q6600 :)
motherboard, ram?

в целях сравнения, потому-что первый показатель у меня маловат
MSI MS-7379 экстрадешевая материнка
Corsair XMS2 2x2 GB pc6400 C5, обычная дешевая память
все в дефолте
opensuse 11.1 i386

Может влияет кол-во памяти?
У народа появился еще один прекрасный метод показать крутизну своей тачки.
спасибо,

добавил в фавориты
НЛО прилетело и опубликовало эту надпись здесь
хорошая штука, узнал о ней три дня назад, собственно тогда, когда и хотел пригласить вас на сайт, только все инвайты уже раздал.
пост скриптум, извините, накипело:
зацените какое у нас классное сообщество, зашел в профиль автору, там написано следующее:
карма +16, голосов 18, стало быть кто-то проголосовал в минус.
Внимание вопрос, уважаемые знатоки, какой мудак это сделал и что им двигало, если у человека один пост(кстати, уникальный на хабре) и всё! ни комментариев, ничего… от от не#уй делать что-ли…
Возможна ситуация когда 1 голос != 1… ну вот както так.
Я когда-то плюсовал когото и увидел что за мой 1 голос добавилось 0.59 кармы
НЛО прилетело и опубликовало эту надпись здесь
Это не так. В действии до сих пор, к примеру, такое правило, что при взаимном плюсовании кармы размер добавляемого значения уменьшается (то есть один человек получает единицу, а второй много меньше).
НЛО прилетело и опубликовало эту надпись здесь
НЛО прилетело и опубликовало эту надпись здесь
Вы меня только что огорчили :) у меня после моего первого топика было около 17 голосов. Карма 7.75 если не ошибаюсь… Вот теперь думаю, чтобы это могло значить…
НЛО прилетело и опубликовало эту надпись здесь
нет, не первый, я просто не пишу ничего именно по этой причине, впринципе кармы было так много, что я не дрочил на нее не переживал, потом три поста с выходом на главную, и она уже не 77, а 50, закрыл нафиг свои посты и остался читателем, вот здесь идет в точности к тому же, хотел обратить внимание. 30 комментов — молодец, спасибо, как не хватало… среднее арифметическое говорит, что кто-то зассал сказать как есть, именно с этой тз хабр де факто учит быть крысой.
Да забейте вы на эту карму
да причем здесь карма? я же не о самих цифрах, как и писал выше — мне ее вполне хватает, чтобы голосовать, использовать html в комментариях и прочее, то есть она есть — и точка. Я говорю о поведении людей, карма в данном случае лишь как лакмусовая бумажка — по этой самой цифре можно посчитать процент п##расов
(давайте орлы, еще мне пару минусов в профиль, я это замечаю, но вы как и прежде — остались теми же жалкими тихими минусятниками)

ps: последнее — не вам, sunburd, вам я сейчас повышу (и так 3.50 на данный момент, посмотрим как поведут себя крысы — я думаю назло мне они вас поднимут :) )

И кто отминусовал выше — мне до задницы ваши мнения, я просто обращаю внимание, что мне есть что написать в постах, которые вы сами же выведете на главную, откомментите «классный метод в верстке», «клева, как я сам не додумался», но карма упадёт(проверено неединоразово), и что это значит? Что поэт сочинил стих, а его послали на йух… вот и вся арифметика, поймите правильно какие в этот момент чувства, ты вынашивал идею скажем месяц, до чего-то додумался, что-то реализовал, поделилися, а тебе за это насрали под дверью — здорово, не правда ли?
Ну любят товарищи подрочить карму :) В мою посмотрите — за 1 пост она выглядит как ноль :) Зато сколько народу сочло нужным поставить плюс или минус :) Я уже давно забил на неё — можно писать нормальные посты и уходить в минуса, можно крикнуть — «вы все быдло идитенайух» и взлететь в плюсах. Раз на раз не приходится :)
Вдруг кто-то промахнулся. У меня иногда тачпад тупит, и во время открытия хабраката спускает страничку на пару строк, после чего клац приходится на «-», что приводит к неоправдвнно опущенному мною топику. Очень обидно, но сделанного не воротишь.
В случае с кармой — воротишь.
полезная, но нетривиальная тулза )
как мне этого не хватало! спасибо!
Супер! Спасибо!
«Уже неплохо, но хочеться хочется большего»
жесть, я всегда ругался, что в unix и unix like os не хватает прогресс бара. теперь жить стало легче
Аминь.
теперь надо: cp/mv показывали статус, ибо vcp глючное уг :)
Как я до этого топика дожил вообще?
Обычно сначала запускаешь cp, а потом минут через 5 понимаешь, что хотелось бы прогресс поглядеть.

Вот крутится в голове такая идейка… а нельзя ли работающему cp/mv залезть в /proc/PID, посмотреть на открытые файловые дескрипторы и на основании положения звёзд и планет угадать, в каком месте сейчас читается какой файл, посмотреть размер файла и выдать эту информацию на экран?
Если Вы вызывали cp * blah
то весь перечень файлов у него расширится шеллом в список аргументов, который видны в /proc
и cp вроде как идет по-порядку. Проблем особых нет, пока не приходится копировать рекурсивно директории.
Во FreeBSD для этого есть Ctrl+T (SIGINFO):
% cp tetex-texmf-3.0.tar.gz /tmp/tetex-texmf-3.0.tar.gz
load: 0.04 cmd: cp 92881 [getblk] 0.00u 0.06s 0% 736k
tetex-texmf-3.0.tar.gz -> /tmp/tetex-texmf-3.0.tar.gz 17%
load: 0.04 cmd: cp 92881 [getblk] 0.00u 0.15s 0% 760k
tetex-texmf-3.0.tar.gz -> /tmp/tetex-texmf-3.0.tar.gz 41%
^C

Во время копирования файла я два раза нажал Ctrl+T. Видно, что во время первого нажатия скопировалось 17% файла, во время второго — 41%.
А есть ли тулза что бы смотреть состояние уже работующих пайпов?
Вот мне тоже очень интересно…
Да забавно) поююзаем.
некайф если du занимает столько же времени сколько tar
НЛО прилетело и опубликовало эту надпись здесь
Класс!!! Спасибо :)

[sasha@acserv /usr/ports 0] 510> pv < /dev/zero > /dev/null
^C.3GB 0:00:07 [6.61GB/s] [              <=>                                                                                            ]

еще в мане написан такой пример
(pv /dev/zero -n > /dev/null) 2>&1 | dialog --gauge Progress 7 50
dialog dialog'у рознь. на разных системах
есть еще gtk и qt версии
нда, пару раз даже сам изобретал колесо оказывается…
вот она, радость простых вещей :)
но почему называется pipeviewer (pv), а не какой-нибудь pipeprogress (pp)?
делает замеры по времени, количеству переданной информации и скорости в пайпе :). размер файла здесь выходит на второй план.

ps Ваш К.О.
а нельзя это как то с «cp» и «mv» использовать, чтобы видеть прогресс копирования/перемещения, так, как это у «scp» сделано?
или у «cp» и «mv» есть какая нибудь опция своя?
Ну как вариант «навскидку», — прописать в .bashrc:
pvcp() { command /bin/cp $@ | pv ; }
pvmv() { command /bin/mv $@ | pv ; }

Ну и результат:
fish@bone:~$ pvcp /dev/zero /dev/null 
  0B 0:00:03 [   0B/s ] [<=>                                 ]
fish@bone:~$ 

Назвать можете как угодно (pvcp, vcp или даже заменить стандартный cp =)

P.S. Возможны проблемы с аргументами, хотя у меня всё отлично работает =)
Тьфу, туплю уже =(
Он размер файла так не скажет…
А как тут удалить свою тупость? :D :D :D
$ pv /path/to/file/name | cat — >/output/path/file
это было копирование, а перемещение

$ (pv /path/to/file/name | cat — >/output/path/file) && rm -rf /path/to/file/name

грубо, но…
полезная штуковина — если в скриптах. а так — если логи не большие + если операцию так и так надо сделать и не важно сколько времени она займет (на диске есть место и комп включен круглосуточно) то вроде и не надо — запустил и в другую консоль работать…
А мне просто нравиться держать руку на пульсе( лучше на горле) Я в основном использую комбу pv + nc. Netcat, кстати заслуживает отдельного поста, его можно использовать очень творчески
pv /dev/zero > /dev/null
2GB 0:00:20 [3,25GB/s] [ <=> ]
pv /dev/urandom > /dev/null
1MB 0:00:11 [3,93MB/s] [ <=> ]

У FreeBSD, похоже, генератор случайных чисел бодрее: даже на древних машинах pv /dev/urandom > /dev/null даёт не три, а целых тридцать MB/s!
а есть похожая тулза для CP?

cp file1 file2?

а то бывает копируешь 20Гб файл… и думаешь… а сколько еще осталось :)
watch -n 1 ls -l /path/to/file :)

Отвечу из будущего: вместо cp можно использовать rsync --progress

а для mysql, когда из дампа востанавливаешь, можно ее добавить:
mysql -p database < dump.sql?
НЛО прилетело и опубликовало эту надпись здесь
Спасибо за ответ, вот только нужно с паролем вводить:
pv dump.sql | mysql -proot database

в другом случае pv работает некорректно:

Enter password: 64kB 0:00:01 [ 63kB/s]
64kB 0:00:03 [ 0B/s ] ] 0% ETA 13:01:12
4.5MB 0:00:15 [ 787kB/s] [> ] 0% ETA 0:54:00
НЛО прилетело и опубликовало эту надпись здесь
Столкнулся с подобной проблемой и наткнулся на этот пост.

Автор, дай бог тебе здоровья, а!
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории