Pull to refresh

Comments 93

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

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

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

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

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

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

О том что думаешь, говорить нужно, невзирая на обстоятельства. И это я не только про хабр.
UFO landed and left these words here
UFO landed and left these words here
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 годом заметнее.
Ещё есть зависимость от того, каков размер блоков при копировании:

$ 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

Может влияет кол-во памяти?
У народа появился еще один прекрасный метод показать крутизну своей тачки.
UFO landed and left these words here
хорошая штука, узнал о ней три дня назад, собственно тогда, когда и хотел пригласить вас на сайт, только все инвайты уже раздал.
пост скриптум, извините, накипело:
зацените какое у нас классное сообщество, зашел в профиль автору, там написано следующее:
карма +16, голосов 18, стало быть кто-то проголосовал в минус.
Внимание вопрос, уважаемые знатоки, какой мудак это сделал и что им двигало, если у человека один пост(кстати, уникальный на хабре) и всё! ни комментариев, ничего… от от не#уй делать что-ли…
Возможна ситуация когда 1 голос != 1… ну вот както так.
Я когда-то плюсовал когото и увидел что за мой 1 голос добавилось 0.59 кармы
UFO landed and left these words here
Это не так. В действии до сих пор, к примеру, такое правило, что при взаимном плюсовании кармы размер добавляемого значения уменьшается (то есть один человек получает единицу, а второй много меньше).
UFO landed and left these words here
UFO landed and left these words here
Вы меня только что огорчили :) у меня после моего первого топика было около 17 голосов. Карма 7.75 если не ошибаюсь… Вот теперь думаю, чтобы это могло значить…
UFO landed and left these words here
нет, не первый, я просто не пишу ничего именно по этой причине, впринципе кармы было так много, что я не дрочил на нее не переживал, потом три поста с выходом на главную, и она уже не 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
UFO landed and left these words here
Класс!!! Спасибо :)

[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'у рознь. на разных системах
нда, пару раз даже сам изобретал колесо оказывается…
вот она, радость простых вещей :)
но почему называется 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Гб файл… и думаешь… а сколько еще осталось :)

Отвечу из будущего: вместо 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
UFO landed and left these words here
Столкнулся с подобной проблемой и наткнулся на этот пост.

Автор, дай бог тебе здоровья, а!
UFO landed and left these words here
Only those users with full accounts are able to leave comments. Log in, please.