Hay un comando de Shell que le permite medir la velocidad con la que pasan los datos, de modo que puede medir la velocidad de salida de los comandos en una tubería. Entonces en lugar de:
$ somecommand | anothercommand
puedes hacer algo como:
$ somecommand | ??? | anothercommand
Y las estadísticas de rendimiento (bytes/seg) se imprimen en stderr, creo. Pero por mi vida no puedo recordar cuál era ese comando.
Necesita una utilidad llamada cpipe .
Uso:
tar cCf / - usr | cpipe -vr -vw -vt > /dev/null
Salida:
...
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
...
Como se ve en https://askubuntu.com/a/620234 , observe que pv
, al menos, puede ralentizar su rendimiento significativamente. El artículo vinculado a las cubiertas dd
, pero el punto es que pv
puede ralentizar sus cosas. Si le importa, y si está transfiriendo terabytes de datos, por ejemplo.
Si tiene Python 2 o 3 y pip (Sudo apt-get install python-pip
) puede instalar tqdm
:
python -m pip install tqdm
Entonces simplemente:
somecommand | tqdm | anothercommand
Si necesita ayuda, ejecute tqdm --help
. Tiene muchas de opciones. Siéntase libre de leer más y hacer sugerencias en https://github.com/tqdm/tqdm
Ahora está disponible una nueva herramienta para inspeccionar el acceso a archivos de procesos que ya se están ejecutando, mostrar el progreso y la estimación del rendimiento: https://github.com/Xfennec/cv
Si sus somecommand
o anothercommand
ya son conocidos por cv
, es tan fácil de usar como watch cv -wq
, o de lo contrario tienes que usar -c
opción para monitorear específicamente sus procesos.