Comandos o herramientas de diagnostico de hardware en Linux
Las fallas relacionadas con el hardware en la mayoría de casos suelen pasar desapercibidas cuando trabajamos con GNU/Linux. Pero cuando se manifiestan de forma evidente, se torna dispendioso dar con su causa. En esta ocasión veremos una colección de comandos o herramientas con los que podemos realizar un diagnostico de hardware en Linux.En Linux tenemos al homólogo de la pantalla azul de Windows, llamado ‘Kernel Panic‘, y casi siempre es solucionable si analizamos con detalle los logs del sistema. De todas formas debemos ser preventivos, revisando periódicamente el hardware, al menos en un primer nivel con los comandos. También tenemos comandos para instalar drivers en este sistema operativo.
Diagnostico de hardware en Linux – Memoria RAM
El sistema Sysfs exporta información sobre los dispositivos y sus controladores hacia el espacio del usuario. Con el comando edac-utils podemos visualizar esa información para conocer el estado de la memorias RAM. Instalamos edac-utils:
sudo apt install edac-utils
Verificamos las memorias
sudo edac-util -v
EDAC significa «Detección y corrección de errores» y comprende una serie de módulos de kernel de Linux, que utilizan las funciones de detección de errores del hardware de la computadora.
¿Por qué necesitamos a EDAC?
La mayoría de los servidores y algunas estaciones de trabajo profesionales utilizan memoria ECC (Error Correcting Code). Estas memorias tienen la capacidad física de detectar y, a veces, reparar errores de bits sobre la marcha.
EDAC es el encargado de «escuchar» esos eventos y registrarlos en Linux:
CE (Corrected Error): El bit falló, pero el hardware lo reparó automáticamente. EDAC lo anota para que sepas que ese módulo de RAM está empezando a morir.
UE (Uncorrected Error): El error fue demasiado grave para repararlo. Esto suele provocar un Kernel Panic inmediato para evitar que se guarden datos corruptos en el disco.
Así luce una memoria RAM con el chip ECC:
Es posible que experimente daños en los datos de PCI (por ejemplo, sus datos se corrompen mientras viajan hacia/desde su NIC/adaptador de almacenamiento, mientras está en el bus PCI), y no lo sabe, ya que la mayoría de los sistemas no comprueban los dispositivos PCI para detectar errores de paridad (algunos pueden desencadenar un NMI, pero no tiene más información sobre lo que causó el NMI).
Si tiene memoria ECC, y está experimentando errores ECC corregibles, probablemente no sabrá nada al respecto. Con los módulos EDAC instalados en su sistema, conocerá los módulos de memoria defectuosos antes de que los errores no sean corregibles, y tenga datos potencialmente corruptos. Otra forma de comprobar EDAC en Linux es: dmesg | grep EDAC.
Verificar la capacidad máxima de memoria que soporta el sistema
Instalamos dmidecode
sudo apt install dmidecod
Consultamos información de los módulos de memoria (aquí también podemos saber si es DDR3, DDR4, DDR5):
sudo dmidecode -t memory
Averiguamos solo la capacidad máxima permitida por el hardware
sudo dmidecode -t 16
Siempre podemos ver los datos acerca del tipo y capacidad de memoria, en un formato más resumido con el siguiente comando:
sudo lshw -short -C memory
Con el siguiente comando podemos ver la velocidad nominal del módulo de RAM, y la velocidad a la que el sistema lo definió:
sudo dmidecode --type memory | grep -E "Speed|Configured Clock Speed"
Ahí podemos ver la info de dos memorias RAM, y podemos ver que una de ellas puede trabajar a 3200 MT/s, pero el chipset la definió en 2400 MT/s porque trabaja junto con otra que solo alcanza hasta 2400 MT/s.
El diagnostico de la memoria RAM pueden ser algo extenso, por eso en el siguiente artículo podemos ampliar más sobre el tema.
Visualizar la temperatura de la CPU y el disco duro
Instalamos lm-sensors y hddtemp. El primero es para CPU y Memoria. El segundo para discos duros y unidades de estado sólido de conexión SATA. Pasamos entonces a visualizar la temperaturas para CPU y memoria RAM:
watch -n 2 sensors
La instalación de hddtemp podemos hacerla de la siguiente manera:
sudo apt update
wget http://archive.ubuntu.com/ubuntu/pool/universe/h/hddtemp/hddtemp_0.3-beta15-53_amd64.deb
sudo apt install ./hddtemp_0.3-beta15-53_amd64.deb
Entonces validamos la temperatura de nuestros discos duros, ó sólidos, así:
sudo hddtemp /dev/sda
En la salida del comando podemos ver que nuestro sistema está instalado en una unidad de estado sólido, de marca Crucial y de modelo CT1000MX500SSD1. El valor de la temperatura obtenida está muy bien, aunque su ficha técnica dice que el rango de temperatura en operación es de 0 a 70°.
Tenemos otro sistema instalado en otra unidad de estado solido marca ADATA, miremos:
En este caso sí me preocupa la temperatura obtenida, porque el sistema donde está funcionando es una laptop que lleva 30 minutos encendida sin ninguna trabajo realizado (ahora podemos ir entendiendo por qué ADATA es una marca poco recomendable).
También podemos instalar psensor para obtener un gráfico histórico de la temperatura de los dispositivos detectados.
Con el paquete xsensors podemos tener una vista gráfica de la temperatura de los dispositivos detectados.
sudo apt install xsensors
Consideremos una buena idea ejecutar el comando sudo sensors-detect para detectar y activar más sensores.
Diagnostico de hardware en Linux – Disco duro y memoria USB
Listamos los discos conectados en nuestro sistema
lsblk -fm
fdisk -l
lsblk | grep -v '^loop'
Podemos hacer la comprobación del estado de los discos duros con la herramienta smartmontools. Esta herramienta puede decirnos cualitativamente si podemos estar tranquilos con nuestro disco duro, o si debemos comenzar a buscarle reemplazo.
Instalamos smartmontools:
sudo apt install smartmontools
Verificar si el disco soporta SMART
sudo smartctl -s on /dev/sda
Verificar antigüedad (en horas) del disco duro
smartctl -A /dev/sdc | grep Power_On_Hours
En la salida del anterior comando debemos enfocarnos en el último campo, ahí es donde obtenemos las horas trabajadas del disco.
Ver si el disco pasa o no pasa la prueba de estado
smartctl -H /dev/sdb
En mi caso la información que tengo en el disco sdb se encuentra en peligro de perdida.
Prueba corta y prueba extensa:
smartctl --test=short /dev/sda
smartctl --test=long /dev/sda
Ver los resultados en forma detallada:
smartctl -a /dev/sda
Para configurar el servicio en el inicio del sistema y que nos alerte vía email, debemos abrir el archivo /etc/default/smartmontools y descomentar la línea start_smartd=yes.
Luego abrimos el archivo /etc/smartd.conf y adicionamos la siguiente línea:
/dev/sda -H -d ata -m tu_buzon@mail.com
Podemos adicionar “-M test” al final de la línea para que SmartMonTools nos envíe un correo de prueba cada vez que reiniciemos el sistema. Reiniciamos a smarmontools:
sudo /etc/init.d/smartmontools restart
Podemos instalar la versión gráfica de esta utilidad, con el comando sudo apt install gsmartcontrol.

Como se puede observar en la imagen, el rojo nos índica un posible riesgo en uno de los discos.
Visualizar el uso del disco
Con los siguientes comandos podemos visualizar el porcentaje de uso del disco, tanto en espacio ocupado, como en inodos usados, respectivamente:
df -h
df -i
Puede que tengas suficiente espacio libre en disco, pero si tienes el 100% de inodos ocupados, tendrás problemas con el funcionamiento de algunas cosas en Linux.
Buscar y reparar sectores fectuosos y detectar y aislar sectores defectuosos
fsck /dev/sda1 -y badblocks /dev/mi_disco
La recomendación es primero buscar y reparar sectores defectuosos (puede que haya sectores irreparables). Después, buscar bloques defectuosos, marcarlos y aislarlos para que el sistema evite usarlos (se recomienda tener un backup de la información antes de ejecutar estos comandos).
Si creemos que tenemos algún problema con la memoria USB en cuanto a su velocidad y originalidad, podemos revisar el siguiente trabajo al respecto..
Diagnostico de hardware en Linux – Tarjeta de red (NIC)
Los siguientes comandos no nos dicen si la tarjeta de red esta defectuosa, pero sí nos ayuda a inferir algún problema relacionado con ella:
watch -n 1 -t -d "ethtool -S eth0 | grep -v \"x_queue_\|x_pb_\""
watch -n 1 -t -d "ethtool --statistics eth0 | grep -i \"drop\|discard\|buffer\|fifo\""
watch -n 1 -t -d cat /proc/net/softnet_stat
sudo ethtool -S eth0 | grep -E "rx_errors|rx_missed_errors|rx_fifo_errors|tx_errors"
Con estos comandos podemos visualizar si nuestra tarjeta de red presenta una excesiva pérdida de paquetes, así podremos acercarnos a alguna posible causa relacionada con bajo rendimiento de nuestras conexiones.
Si sospechamos que la perdida de paquetes está en la tarjeta de red, podemos validarlo con este otro comando:
sudo netstat -ni
La quinta y novena columna (RX-DRP y TX-DRP) nos muestra los paquetes recibidos por la tarjeta y los paquetes perdidos en ese mismo punto, respectivamente. Si el índice de perdidas supera el 0.2 % entonces el rendimiento de la conexión se verá sumamente afectada a la mitad.
El índice de perdidas lo calculamos así, (RX-DRP / RX-OK) x 100.
También debemos calcularlo para TX-DRP y TX-DRP.
Es parte del día a día encontrarnos con tarjetas de red nuevas con defectos electrónicos. Por ejemplo, en una empresa con firewall y filtrado web con Linux, una tarjeta de red nueva, la TP-Link TG-3468 con chip Realtek RTL8168B, presentaba un 0.38 % de perdidas (RX-DRP), afectandoles el rendimiento de la conexión a Internet en algunos servicios de sincronización.
La cambiamos por una TP-LINK TX 201 y solucionado el problema.

sudo rfkill
Consultar datos de fabricante, modelo y otros de las interfaces de red:
lshw -C network
ó
inxi -Nx
Consultar la velocidad establecida en el adaptador de red
ethtool eth0 | grep -i speed
Puede que quieras mejorar tu gestión de la red con estos comandos de Linux.
Comandos para consultar el uso de la GPU
Consultar datos de fabricante, modelo y otros de la GPU:
lspci -vnn | grep VGA -A 12 ó inxi -G ó lshw -C display
Consultar memoria de la GPU
glxinfo -B ó sudo glxinfo | egrep -i 'device|memory'
(el comando lo puedes instalar con apt install mesa-utils)
Consultar el uso de la GPU. Comprender el rendimiento del sistema es crucial. cuando se trabaja con aplicaciones con uso intensivo de gráficos. La GPU puede ser un cuello de botella y es esencial monitorear su uso. Una herramienta que puede ayudarnos con esto es intelgpu, bueno, la herramienta depende de si tenemos una Intel o Nvidia. Instalamos entonces a intelgpu.
sudo apt install intel-gpu-tools
Visualizamos el uso de la GPU:
sudo intel_gpu_top
Para NVIDIA
Primer método: Instalamos la aplicación Python, gpustat:
sudo pip install gpustat
Lo ejecutamos
sudo gpustat -cp
Segundo método: Instalamos la aplicación Python, glances:
sudo pip install glances[gpu]
ó
sudo glances (ó sudo glances --meangpu)
Para GPU AMD Radeon
Instalamos radeontop:
sudo apt install radeontop
Lo ejecutamos
sudo radeontop
Actualizar los drivers la tarjeta de gráfica en Ubuntu
Consultamos la marca de nuestra tarjeta gráfica instalada, con el comando sudo lshw -c video:
Hemos confirmado que se trata de una Radeon HD 6480G, entonces actualizamos para esa marca:
sudo add-apt-repository ppa:oibaf/graphics-drivers
sudo apt update && sudo apt -y upgrade
Puede que te interese saber cómo Optimizar tu Máquina Linux
Visualizar información de la MotherBoard y demás Hardware
Visualizamos el modelo de la motherboard
sudo dmidecode -t 2
Visualizamos todos los dispositivos conectados a la motherboard
lshw
Solo los PCI
lspci
Listar dispositivos PCI con sus módulos (drivers)
lspci -k
Solo los USB
lsusb
Lista driver o módulos del Kernel
lsmod
Información general del hardware
hardinfo
También tenemos al System Monitoring Center, que podemos instalar para Ubuntu.
Una alternativa gráfica al System Monitoring Center, es Stacer, que más que un software de monitoreo, es un mando para realizar ajustes y limpieza de nuestro sistema. A Stacer lo podemos instalar con el siguiente comando:
sudo apt install stacer
Con el siguiente comando podemos saber la fecha en la que Ubuntu le dará soporte a nuestro hardware:
hwe-support-status --verbose
Puedes visualizar más comandos, aquí
Valora este artículo













Pingback: 🥇 Comandos para Gestionar Procesos en Linux - Control Procesos
Pingback: 🥇 No Funciona el WiFi en Ubuntu Después de una Actualización