Medir a produtividade do tubo na carcaça

35

Existe um comando shell que permite medir a rapidez com que os dados passam por eles, para que você possa medir a velocidade de saída dos comandos em um pipe. Então, em vez de:

$ somecommand | anothercommand

você pode fazer algo como:

$ somecommand | ??? | anothercommand

E estatísticas de taxa de transferência (bytes / s) são impressas em stderr, eu acho. Mas não consigo me lembrar o que era esse comando.

Alex B
fonte

Respostas:

47

O cpipe provavelmente é melhor para esses propósitos, mas outro programa relacionado é o pv (Pipe Viewer):

Captura de tela do pv na página inicial do pv

Se você der a --ratebandeira, mostrará a taxa de transferência

Michael Mrozek
fonte
Essa foi a única!
Alex B
17

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
... 
Hobobave
fonte
2
Não foi mais encontrada nenhuma referência válida para cpipe... mas pvé equivalente.
Yves Martin
1

Se você possui Python 2 ou 3 e pip ( sudo apt-get install python-pip), pode instalar tqdm:

    python -m pip install tqdm

Então simplesmente:

    somecommand | tqdm | anothercommand

Se precisar de ajuda, corra tqdm --help. Tem muitas opções. Sinta-se livre para ler mais e fazer sugestões em https://github.com/tqdm/tqdm

casper.dcl
fonte
1

Como visto em https://askubuntu.com/a/620234 , observe que pv, pelo menos, pode diminuir significativamente sua taxa de transferência. O artigo está vinculado a capas dd, mas o ponto é que isso pvpode desacelerar suas coisas. Se você se importa e está transferindo terabytes de dados, por exemplo.

Mike S
fonte
0

Agora, uma nova ferramenta está disponível para inspecionar o acesso aos arquivos dos processos em execução, exibir a estimativa de progresso e taxa de transferência: https://github.com/Xfennec/cv

Se você é somecommandou anothercommandjá é conhecido por cvele, é tão fácil de usar quanto watch cv -wqvocê precisa usar a -copção para monitorar especificamente seus processos.

Yves Martin
fonte