Conjunto de soluciones que he ido recopilando para medir la temperatura de CPU y discos en sistemas Linux.
Temperatura de CPU
Lectura directa del sistema
El método más sencillo para acceder a la temperatura del sistema es a través del sysfs:
$ cat /sys/class/thermal/thermal_zone0/temp 46000
Aquí puede leerse el valor medido en el primer sensor de la placa (ya que podrían existir múltiples sensores distribuidos en el sistema asociados a diferentes thermal zones) en milésimas de grado.
lm-sensors
Una forma más completa de comprobar todos los sensores de una CPU, incluyendo temperatura y funcionamiento de los ventiladores, es a través del paquete lm-sensors.
Para instalar lm-sensors en un sistema basado en Debian:
$ sudo apt-get lm-sensors
Antes de configurar los sensores es conveniente instalar los siguientes paquetes que incluyen controladores asociados a la sensorización:
$ sudo apt-get install fancontrol sensord read-edid i2c-tools
Para comprobar cuales sensores se encuentran disponibles en el sistema y configurarlos ejecutar:
$ sudo sensors-detect
respondiendo afirmativamente a las preguntas que vaya realizando el programa de configuración.
Una vez configurados los sensores, instalar los controladores asociados con:
$ sudo /etc/init.d/kmod start
Con el sistema ya configurado y los sensores instalados, se puede proceder a consultar el estado a través del comando sensors
como se muestra en el siguiente ejemplo:
$ sensors acpitz-virtual-0 Adapter: Virtual device temp1: +45.0°C (crit = +103.0°C) coretemp-isa-0000 Adapter: ISA adapter Physical id 0: +47.0°C (high = +100.0°C, crit = +100.0°C) Core 0: +41.0°C (high = +100.0°C, crit = +100.0°C) Core 1: +39.0°C (high = +100.0°C, crit = +100.0°C) asus-isa-0000 Adapter: ISA adapter cpu_fan: 2200 RPM temp1: +45.0°C
Temperatura de discos
Para los discos con soporte S.M.A.R.T. Linux cuenta con una aplicación denominada hddtemp para el control de la temperatura.
En sistemas basados en Debian esta aplicación puede instalarse con:
$ sudo apt-get install hddtemp
Una vez instalada la aplicación, la temperatura de un disco puede consultarse con el comando hddtemp
. El comando hddtemp
requiere que se especifique el dispositivo asociado al disco (que en este ejemplo es /dev/sda
):
$ sudo hddtemp /dev/sda /dev/sda: HGST HTS541010A7E630: 29°C