Controlar en Linux el estado de la CPU y la GPU

Seguramente muchas veces te habrás preguntando como controlar la velocidad de la CPU o la GPU en tu distribución GNU/Linux favorita. Pues ponte cómodo que ahora te explico como hacerlo.

Para lograr nuestro fin debemos utilizar la herramienta llamada lm_sensors. Se trata de un software open source que proporciona comandos y controladores para monitorizar la temperatura de la CPU y la GPU, el voltaje y la velocidad del ventilador.

Una vez instalados lm_sensors, podemos usar la interfaz gráfica de usuario de System Monitor para KDE o GNOME para obtener datos. Veamos cómo instalar lm_sensors y descubrir la velocidad del ventilador en los sistemas operativos GNU/Linux que usan la CLI.

Antes de nada, veamos la instalación.

Instalación de lm_sensors en Linux

El paquete se encuentra en los repositorios principales de la mayoría de distribuciones.

Instalación en RHEL, Centos y Fedora

En las últimas versiones de estas distribuciones debemos utilizar la herramienta DNF, como sigue:

sudo dnf install lm_sensors

Para versiones anteriores, utilizamos YUM, de esta manera:

sudo yum install lm_sensors

Instalación en Debian, Ubuntu, Linux Mint y similares

Para estas populares distribuciones con paquetería DEB, vamos a utilizar la herramienta APT, así:

sudo apt install lm_sensors

Instalación en Arch y similares

Realizamos de esta manera la instalación:

sudo pacman -S lm_sensors

Configuración de lm_sensors

con los sensores lm instalados, es hora de ejecutar el comando de detección de sensores para detectar y generar una lista de módulos del núcleo.

sudo lm_sensors

De esta manera debería comenzar el sondeo de hardware. Por lo tanto, presionamos la tecla [Intro] para todas las preguntas para crear el archivo /etc/sensors3.conf. Este archivo carga módulos del kernel de Linux e iniciar el servicio automáticamente en el momento del arranque.

Mostrar la información

Después de todos estos pasos ya es hora que veamos la información, para ello solo hemos de escribir en la consola de comandos:

sensors

Con un resultado similar al siguiente, que en este caso es la información de mi portátil HP Envy con Ubuntu 18.04

Muestra de uso de lm sensors (click para ampliar)

Podemos filtrar la información, por ejemplo:

sensors | grep -i fan

O bien ver en directo la actividad de los componentes, utilizando el comando watch. Veamos algunos ejemplos:

watch -n1 -d sensors
watch -n1 -d 'sensors | grep fan'
watch -n1 -d 'sensors | egrep "fan|temp" | grep -v "0.0"'

Uso de herramientas gráficas

Exitan varias herramientas gráficas que muestran dicha información, como por ejemplo psensor o xsensor.

Para habilitarla debemos seguir estas instrucciones:

# Instalación en Debian, Ubuntu, Linux Mint y similares
sudo apt install psensor 
# Instalación en SUSE u OpenSUSE
sudo zypper in psensor 
# En Arch Linux y similares
sudo pacman -S psensor # Arch Linux
# En Centos o RHEL
sudo yum install xsensors

Para empezar a trabajar con esta herramienta:

psensor
# En el caso de Centos o RHEL
xsensors

Muestra de uso de Psensor

Uso de Psensor

Para ver más información del hardware de nuestro equipo, incluyendo la CPU y la GPU, también os puede ser de ayuda esta entrada que escribí hace un tiempo:

Obtener información del hardware en Linux

Y eso es todo, espero que os sea de utilidad esta entrada en algún momento.