Averigüe qué proceso está utilizando demasiado ancho de banda en Linux

Averigüe qué proceso está utilizando demasiado ancho de banda en Linux

Si bien hay muchas herramientas de monitoreo de red disponibles para Linux, la mayoría de ellas monitorean el tráfico de red hacia y desde su computadora o una interfaz en particular. Sin embargo, hay momentos en los que desea concretar un proceso en particular que está utilizando demasiado ancho de banda, y existe una herramienta, denominada NetHogs, que le permite hacer precisamente eso.

En este artículo, discutiremos los conceptos básicos de NetHogs, así como las funciones que ofrece.

NetHogs

Según la utilidad página man, NetHogs es una pequeña herramienta «net top». En lugar de desglosar el tráfico de red por protocolo o por subred, como hacen la mayoría de las herramientas, agrupa el ancho de banda por proceso.

Si de repente hay mucho tráfico en la red, puede iniciar NetHogs e inmediatamente ver qué PID está causando esto, lo que facilita la identificación de programas que se han vuelto locos y de repente están ocupando su ancho de banda. Dado que NetHogs depende en gran medida de «/proc», actualmente solo se ejecuta en Linux.

Descargar/Instalar

Los usuarios de sistemas basados ​​en Debian como Ubuntu pueden descargar e instalar fácilmente la herramienta usando el siguiente comando:

sudo apt-get install nethogs

Si está utilizando cualquier otra distribución, puede consultar los detalles proporcionados en NetHog’s página web oficial. Otro punto a destacar es que la herramienta requiere libpcap y ncursesasí que asegúrese de tener libncurses5-dev y libpcap0.8-dev instalado.

Uso

NetHogs es bastante simple de usar; solo ejecuta el nethogs comando sin ninguna opción de línea de comando, y mostrará el ancho de banda utilizado por cada proceso. La siguiente es la instantánea de la salida producida por la herramienta en mi sistema:

Nethogs-en-acción

Como puede ver en la captura de pantalla, la herramienta NetHogs muestra detalles como el PID, el nombre de usuario, el proceso, la interfaz de red utilizada y la velocidad a la que se envían y reciben los datos.

Establecer frecuencia de actualización personalizada

De forma predeterminada, la salida de NetHog se actualiza después de un retraso de 1 segundo, pero puede usar el -d opción de línea de comando para establecer este retraso según sus requisitos. Por ejemplo, para establecer un retraso de 3 segundos, use el siguiente comando:

Especificar interfaz

También puede pedirle a NetHogs que monitoree el tráfico en una interfaz de red en particular especificando el nombre de la interfaz en la línea de comando. Por ejemplo, para controlar el tráfico en eth1puede usar el siguiente comando:

Nota: puedes usar el -p Opción de línea de comandos para rastrear el tráfico en modo promiscuo, aunque no es recomendable.

Atajos de teclado

La herramienta también proporciona algunos atajos de teclado que puede usar para controlar la forma en que se muestra la salida. Por ejemplo, mientras se ejecuta el comando, puede presionar la tecla «m» para cambiar las unidades en las que se muestran los datos enviados y recibidos; cada vez que presione la tecla, la unidad alternará entre kb/s, kb, b, y mb.

Aquí hay un ejemplo donde el tráfico se muestra en MB:

nethogs-salida-inmb

De manera similar, puede presionar «s» y «r» para ordenar la salida por datos enviados y recibidos, respectivamente. Y como siempre, «q» es para salir de la salida.

Conclusión

NetHogs es ideal para los casos en los que desea capturar y eliminar el proceso que funciona de forma inesperada al consumir una gran cantidad de ancho de banda. Además, es una utilidad de código abierto, lo que significa que puede estudiar su funcionamiento e incluso personalizarlo como desee.

¿Alguna vez has usado NetHogs o alguna otra herramienta similar? ¿Cómo fue tu experiencia? Comparta sus pensamientos en los comentarios a continuación.

Experto Geek - Tu Guía en Tendencias Tecnológicas