Busqueda sobre Linux y software libre

Noticias sobre linux y software libre - Google 

Cómo resolver problemas de bmon en Linux

 Le preguntamos a Gemini, la inteligencia artificial de Google, cómo resolver problemas de bmon en Linux

Explicanos detalladamente cómo resolver problemas de bmon en Linux

bmon (Bandwidth Monitor) es una utilidad ligera basada en consola y bibliotecas ncurses, por lo que la gran mayoría de sus problemas se relacionan con el entorno de la terminal, incompatibilidades con las variables de tipo de terminal, restricciones al leer contadores del kernel de Linux, o saturación por un exceso de interfaces virtuales.

A continuación, se detallan las causas y soluciones paso a paso para resolver los fallos más comunes de bmon en entornos Linux.

1. Error de Renderizado: "Error opening terminal" o Caracteres Ilegibles (Garbage Output)

Causa: La variable de entorno TERM no está definida correctamente en tu sesión de shell (común al conectarse vía SSH con configuraciones personalizadas o en contenedores mínimos), o la terminal emulada no soporta secuencias ncurses.

Solución:

Define explícitamente el tipo de terminal compatible con colores de 256 bits ejecutando:

Bash

export TERM=xterm-256color

Si estás utilizando una terminal muy antigua o restrictiva, prueba con el modo seguro estándar:

Bash

export TERM=linux

Verificación: Vuelve a ejecutar bmon. La interfaz gráfica basada en caracteres debe renderizarse con cajas y colores limpios sin arrojar errores de inicialización.

2. Las Interfaces de Red Muestran Cero Tráfico o No Aparecen

Causa:
bmon recopila estadísticas directamente desde las interfaces del kernel expuestas a través de sockets Netlink o mediante el archivo virtual /proc/net/dev. Si el usuario no tiene permisos o si la herramienta se ejecuta dentro de un entorno aislado (como un contenedor Docker sin privilegios de red o un chroot), las métricas no se actualizarán.

Solución:

Verifica que el sistema operativo esté exponiendo correctamente los contadores de red leyendo directamente el archivo virtual:

Bash


cat /proc/net/dev

(Debes ver listadas las interfaces activas con sus respectivos contadores de bytes y paquetes).

Si estás ejecutando bmon dentro de un contenedor o con un usuario restringido que no puede consultar las estadísticas del sistema, asegúrate de invocarlo con privilegios adecuados o revisa las capacidades de red asignadas al contenedor (--net=host).

Verificación: Genera tráfico sintético en una interfaz (por ejemplo, haciendo un ping continuo o una descarga local) y observa si los contadores de paquetes en /proc/net/dev se incrementan de la misma forma que en la visualización de bmon.

3. Alto Consumo de CPU o Congelamiento al Iniciar

Causa:
Los servidores modernos suelen acumular decenas o cientos de interfaces virtuales debido a contenedores (puentes Docker/Podman, interfaces veth), túneles VPN (tun/tap), o VLANs. Si bmon intenta procesar y refrescar todas las interfaces simultáneamente a un intervalo de tiempo extremadamente corto (por defecto o configurado con un -r muy bajo), la consola se satura.

Solución:

Limita el monitoreo exclusivamente a la interfaz física principal de tu tarjeta de red utilizando el parámetro de filtrado -p:

Bash


bmon -p eth0

(O bien enp3s0, ens18, etc., según corresponda).

Si necesitas ver múltiples interfaces pero experimentas parpadeo o lentitud, incrementa el intervalo de muestreo en segundos:

Bash

bmon -r 2.0

Verificación:
Comprueba el uso de recursos ejecutando top o htop mientras bmon está activo; el consumo de CPU debe mantenerse por debajo del 1-2%.

4. Fallos de Compilación o Dependencias Faltantes (Al instalar desde código fuente)

Causa: Si estás compilando bmon manualmente desde un repositorio de Git en una distribución minimalista, el proceso de compilación suele fallar debido a la ausencia de las librerías de desarrollo de Netlink (libnl) o Ncurses.

Solución:

Instala los paquetes de desarrollo necesarios antes de ejecutar ./configure o make:

En Ubuntu / Debian:

Bash


sudo apt update && sudo apt install -y build-essential libnl-3-dev libnl-genl-3-dev libncurses5-dev pkg-config

En RHEL / Rocky Linux / Fedora:

Bash


sudo dnf install -y gcc make libnl3-devel ncurses-devel pkgconfig

Verificación: Vuelve a ejecutar ./configure en la carpeta fuente de bmon y asegúrate de que el resumen final indique que las dependencias de libnl y ncurses fueron encontradas satisfactoriamente antes de ejecutar make install.

Ads by CJ - Linux Foundation

Share This