¿Qué procesos se están "comiendo" mi ancho de banda en Linux?

A veces estamos delante del ordenador con el navegador abierto esperando a que una página cargue, cosa que es realmente desesperante. Si el router funciona y estoy conectado a Internet, ¿por qué tarda tanto? Es posible que haya algún proceso "comiendo" ancho de banda en Linux, es decir, que esté utilizando toda tu velocidad de bajada o subida y dejando a otras aplicaciones sin acceso a Internet, al menos parcialmente. Por ejemplo, cuando está el torrent abierto descargando distribuciones Linux (todo legal) e intentamos hacer una videollamada, a menos que tengamos un ancho de banda grande, lo más probable es que funcione mal o se corte a mitad.

En este artículo hablaremos de NetHogs y sus características.

NetHogs

Si conocéis el comando top en Linux, NetHogs es muy parecido. En lugar de darnos datos sobre el consumo de memoria o CPU que tienen los procesos que se están ejecutando en nuestro sistema operativo, nos ofrece información sobre el ancho de banda de subida y bajada de cada PID (Process ID, Identificador de Proceso). Si de repente véis que alguna aplicación consume demasiado ancho de banda, con NetHogs podréis saber cuál es, pero sólo si utilizáis Linux.

Instalación

Para sistemas basados en Debian, como por ejemplo Ubuntu, puede ser fácilmente descargado desde los repositorios con el siguiente comando:

sudo apt-get install nethogs Si utilizáis otra distribución, podéis entrar a la página oficial para ver cómo instalar esta herramienta.

Cómo utilizar NetHogs

Utilizar NetHogs es tan simple como ejecutar el comando nethogs como superusuario. Una vez hecho esto, veremos algo parecido a lo siguiente:

Tal y como se puede apreciar en la captura de pantalla, hay varias columnas:

  • PID: Identificador de Proceso.
  • USER: usuario que está ejecutando el proceso.
  • PROGRAM: programa que está ejecutándose.
  • DEV: interfaz de red (eth0, eth1, wlan0...).
  • SENT: datos enviados.
  • RECEIVED: datos recibidos.
Período de actualización

Por defecto, NetHogs se actualiza cada 1 segundo. Si queremos que se actualice, por ejemplo cada 5 segundos, añadimos el parámetro -d:

sudo nethogs -d 5

Interfaz

La interfaz que NetHogs monitoriza por defecto es eth0. Ya que yo estoy utilizando la wlan0 (WiFi) tengo que indicárselo porque si no me dirá que no hay tráfico por eth0.

sudo nethogs wlan0

Atajos de teclado

Existen varios atajos de teclado que se pueden utilizar en NetHogs:

  • m: pulsando la tecla 'm', cambiaremos las unidades de medida de los datos recibidos  y enviados en un ciclo, pasando por: KB/s, KB, B y MB.
  • s: pulsando esta tecla ordenaremos por la cantidad de datos enviados.
  • r: con 'r' ordenaremos por la cantidad de datos recibidos.
  • q: se utiliza para salir del programa.

Conclusiones

Desde mi punto de vista, creo que NetHogs es un programa realmente útil. No sólo para un usuario medio, sino para administradores de sistemas. Lo he probado en el servidor de Geeky Blogs y es muy interesante ver el ancho de banda que está consumiendo cada proceso.