Як отримати середню швидкість потоку труби


16

Якщо myfileз часом зростає, я можу отримати кількість рядків за секунду, використовуючи

tail -f | pv -lr > /dev/null

Це дає миттєву швидкість, а не середню.

Як я можу отримати середню швидкість (тобто інтеграл функції швидкості v(t)за час моніторингу).

Відповіді:


15

З pv1.2.0 (грудень 2010 року) і вище, це -aопція:

Тут і поточний, і середній, на основі рядків:

$ find / 2> /dev/null | pv -ral > /dev/null
[6.28k/s] [70.1k/s]

З 1.3.8 (жовтень 2012) і новішими, ви також можете використовувати -F/ --formatз %a:

$ find / 2> /dev/null | pv -lF 'current: %r, average: %a'  > /dev/null
current: [4.66k/s], average: [ 218k/s]

Зверніть увагу, що tail -fпочинається з демпінгу останніх 10 рядків файлу. Використовуйте, tail -n 0 -f file | pv -laщоб уникнути цієї упередженості у вашому розрахунку середньої швидкості.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.