cpipe é provavelmente melhor para esses fins , mas outro programa relacionado é pv (Pipe Viewer):
Se você der a ele o sinal --rate
, ele mostrará a taxa de transferência
Existe um comando shell que permite medir a velocidade com que os dados passam, para que você possa medir a velocidade de saída dos comandos em um pipe. Então, ao invés de:
$ somecommand | anothercommand
você pode fazer algo como:
$ somecommand | ??? | anothercommand
E as estatísticas de throughput (bytes / seg) são impressas em stderr, eu acho. Mas eu não posso para a vida de mim lembrar o que esse comando foi.
Você precisa de um utilitário chamado cpipe .
Uso:
tar cCf / - usr | cpipe -vr -vw -vt > /dev/null
Saída:
...
in: 19.541ms at 6.4MB/s ( 4.7MB/s avg) 2.0MB
out: 0.004ms at 30.5GB/s ( 27.1GB/s avg) 2.0MB
thru: 19.865ms at 6.3MB/s ( 4.6MB/s avg) 2.0MB
...
Se você tem o Python 2 ou 3 e o pip ( sudo apt-get install python-pip
), você pode instalar o tqdm
:
python -m pip install tqdm
Em seguida, simplesmente:
somecommand | tqdm | anothercommand
Se precisar de ajuda, execute tqdm --help
. Tem muito de opções. Sinta-se à vontade para ler mais e fazer sugestões no link
Como visto no link , observe que pv
, pelo menos, pode diminuir sua taxa de transferência significativamente. O artigo vinculado a capas de dd
, mas o ponto é que pv
pode retardar suas coisas. Se você se importa, e se você está transferindo terabytes de dados, por exemplo.
Uma nova ferramenta agora está disponível para inspecionar o acesso aos arquivos dos processos em execução, o progresso da exibição e a estimativa da taxa de transferência: link
Se o seu somecommand
ou anothercommand
já for conhecido por cv
, ele será tão fácil de usar quanto watch cv -wq
ou você terá que usar a opção -c
para monitorar especificamente seus processos.
Tags command-line performance pipe io