Herramientas de línea de comandos para monitorizar GNU/Linux

Escrito por picodotdev el .
gnu-linux planeta-codigo
Enlace permanente Comentarios

A veces un proceso del sistema consume gran cantidad de procesador, memoria o realiza muchas operaciones de lectura o escritura en el almacenamiento, simplemente se desea obtener o monitorizar cierta información del sistema. Hay varias herramientas en GNU/Linux para monitorizar los procesos del sistema, en almacenamiento, la red y temperatura de componentes, otros comandos permiten obtener información de los principales componentes hardware y software de la computadora.

En GNU/Linux hay una colección de herramientas de línea de comandos para obtener información y monitorizar el estado del sistema. Estas herramientas permiten dar respuesta a las preguntas ¿qué porcentaje del procesador están usando los procesos?, ¿cuánta memoria están usando los procesos y cuanta queda libre?, ¿cual es el espacio de almacenamiento usado y cuanto espacio de almacenamiento queda libre?, ¿cual es la tasa de transferencia para el disco y red? o ¿que temperatura tiene el procesador?.

Otra información que es posible conocer es cuanta memoria tiene el sistema, cuánto almacenamiento tiene el sistema en total, cual es el modelo de procesador, cuál es el modelo de tarjeta gráfica o cual es el entorno de escritorio.

Las siguientes herramientas permiten monitorizar en tiempo real el estado del sistema y obtener información del mismo, tanto para los procesos, almacenamiento y red.

Monitorizar procesos del sistema

Estas herramientas permiten monitorizar los procesos del sistema, principalmente en consumo de procesador y memoria.

top

Esta herramienta permite monitorizar los procesos del sistema en tiempo real, ver cuánto porcentaje de procesador se está usando, cuanta memoria se está usando y qué procesos lo están haciendo además de conocer qué cantidad de memoria total tiene el sistema.

Es una herramienta que está entre la colección de herramientas instaladas por defecto en la mayoría de sistema GNU/Linux.

Com la tecla h se accede al panel de configuración en el que es posible personalizar los colores, ver las teclas de acceso para mostrar información y otras opciones de configuración que se mantienen entre diferentes ejecuciones del programa.

1
2
$ top -u picodotdev

top.sh

Comando top

htop

htop es una herramienta con el mismo propósito que top pero un poco más avanzada mostrando algo más de información, permite ver los procesos del sistema, consumo de procesador y memoria que están usando. Permite ver el uso del procesador por núcleo de CPU.

Al igual que top permite ordenar la lista de procesos por uso de procesador, uso de memoria, o tipos de CPU consumidos en orden descendente o en orden ascendente. Ofrece integración con el comando lsof.

Con la tecla F1 es posible ver las opciones de configuración de la utilidad.

1
2
$ sudo pacman -S htop
$ htop
htop.sh

Comando htop

ps

El comando ps permite obtener información del estado de los procesos del sistema en el instante que se ejecuta. Posee varias opciones para filtrar los procesos que devuelve y su información de estado.

1
2
$ ps

ps.sh

Comando ps

bpytop

bpytop es una herramienta similar a top y htop que muestra información del sistema en tiempo real pero incluyendo también tráfico de red y almacenamiento además del procesador, memoria, procesos. Algunas estadísticas las muestra en formato gráfica utilizando texto para ver más rápidamente el porcentaje de utilización del recurso.

Con la tecla M se accede al menu del programa donde configurar los diferentes paneles de información que muestra el programa. Además de ofrecer información de varios aspectos esenciales del sistema otra de sus grandes ventajas es que las teclas de acceso rápido para cambiar las opciones están visibles en la interfaz general con lo que no hace falta recordar las teclas para cada opción.

1
2
$ sudo pacman -S bpytop
$ bpytop
bpytop.sh

Comando bpytop

free

El comando free permite ver la memoria física del sistema y la cantidad de memoria virtual o swap.

1
2
$ free -h

free.sh

Comando free

Monitorizar almacenamiento

Las siguientes herramientas permiten monitorizar el almacenamiento del sistema. Permiten ver cuál es la capacidad de todas las unidades conectadas, cuanto espacio de almacenamiento queda libre en cada una de ellas y cual es la tasa de transferencia de almacenamiento que está utilizando el sistema tanto en lectura como en escritura.

df

El comando df permite ver información del almacenamiento de las unidades conectadas al sistema en el momento de ejecutar el comando. Permite ver en cada una de ellas su capacidad total y espacio libre restante que le queda, dispositivo hardware, sus particiones y puntos de montaje. Con la opción -h muestra los datos en unidades más comprensibles como KiB, MiB y GiB en vez de en bytes.

1
2
$ df -h

df.sh

Comando df

iotop

El comando iotop permite ver en tiempo real la tasa de transferencia de lectura y escritura que están empleando los procesos del sistema. Se puede ordenar los procesos por cantidad de lectura o cantidad de escritura.

Esta herramienta requiere permisos de superusuario en su ejecución.

1
2
$ sudo pacman -S iotop
$ sudo iotop
iotop.sh

Comando iotop

lsof

El comando lsof permite conocer cuales son los archivos abiertos por los procesos del sistema en el momento de ejecutar el comando.

1
2
$ sudo pacman -S lsof
$ lsof
lsof.sh

Comando lsof

Monitorizar red

Las siguientes herramientas permite monitorizar la entrada y salida del trafico red.

netstat

El comando netstat permite ver cuales son las conexiones de red establecidas por los procesos del sistema y su estado. Con la opción -c monitoriza el tráfico de red en tiempo real o de forma continua.

1
2
$ sudo pacman -S netstat-nat
$ netstat-nat
netstat.sh

tcpdump

El comando tcpdump permite capturar el tráfico de red de una interfaz de red, para un puerto de red o para un nombre de host como origen o destino específico. Con la opción -c se limita la captura a un número de paquetes determinado. También es posible guardar la captura a un archivo para analizarlo una vez terminada la captura con la opción -w.

1
2
3
4
5
6
7
$ sudo pacman -S tcpdump
$ sudo tcpdump -i any -c5 -nn port 80
$ sudo tcpdump -i any -c5 -nn src 192.168.1.6
$ sudo tcpdump -i any -c5 -nn dst 192.168.1.6

$ sudo tcpdump -i any -c10 -nn -w webserver.pcap port 80
$ tcpdump -nn -r webserver.pcap
tcpdump.sh

Comando tcpdump

Otras herramientas de monitorización

uptime

El comando uptime permite ver cuánto tiempo lleva en funcionamiento el sistema desde su último apagado o reinicio.

1
2
$ uptime

uptime.sh

Comando uptime

iostat

El comando iostat muestra información de entrada y salida del sistema agrupando la información por dispositivo de almacenamiento. A diferencia de iotop no muestra cual es el proceso que está realizando la operación de entrada y salida.

1
2
$ sudo pacman -S sysstat
$ iostat
iostat.sh

Comando iostat

sensors

El comando sensors permite obtener información de la temperatura que incorporan varios de los componente de las computadoras. Este comando muestra la temperatura del procesador para cada uno de sus núcleos, también del dispositivo de almacenamiento NVMe.

1
2
$ sensors

sensors.sh

Comando sensors

watch

El comando sensors no muestra la temperatura en tiempo real, únicamente en el momento de su ejecución. El comando watch permite ejecutar un comando según el intervalo de tiempo deseado, utilizado con el comando sensors permite dotarle a este de monitorización casi en tiempo real configurando el intervalo de ejecución cada un segundo.

1
2
$ watch -n 1 sensors

watch.sh

Comando watch

neofetch

El comando neofetch muestra la información básica del sistema en el que se ejecuta. Aunque la información no es muy detallada contiene la descripción del los componentes de hardware y software principales del sistema como procesador, memoria, tarjeta gráfica, kernel, distribución de GNU/Linux, entorno de escritorio, número de paquetes instalados y algunas informaciones adicionales menos relevantes.

1
2
$ sudo pacman -S neofetch
$ neofetch
neofetch.sh

Comando neofetch

hwinfo

Aunque el comando hwinfo no es un comando de monitorización permite conocer diversa y detallada información del hardware del sistema. La información incluye datos sobre el modelo de procesador, modelo de placa base, unidad de almacenamiento y tarjeta gráfica. Esta información es útil en caso de necesitar algún paquete ya que algunos son específicos según el hardware del sistema por ejemplo los controladores de la tarjeta gráfica.

1
2
$ sudo pacman -S hwinfo
$ hwinfo --cpu
hwinfo.sh

Comando hwinfo


Comparte el artículo: