En sistemas FreeBSD, el módulo del kernel coretemp provee el controlador de dispositivo para acceder a los sensores de temperatura presentes en los microprocesadores Intel Core.

El controlador coretemp provee soporte para acceder a los sensores de temperatura presentes dentro de las pastillas de los procesadores Intel Core y superiores.

Por defecto, el módulo coretemp no se encuentra cargado en el kernel, por lo que debe cargarse ejecutando (como root):

# kldload coretemp

El controlador coretemp reporta la temperatura de cada núcleo a través de un nodo sysctl en el árbol sysctl correspondiente a cada CPU, llamado dev.cpu.%d.temperature:

root@hal9000:/usr/home/emi # sysctl -a | grep temperature
dev.cpu.3.temperature: 44.0C
dev.cpu.2.temperature: 44.0C
dev.cpu.1.temperature: 43.0C
dev.cpu.0.temperature: 43.0C

Si se desea cargar este módulo automáticamente al iniciar el sistema, editar el archivo /boot/loader.conf y agregar la siguiente línea:

coretemp_load="YES"

De yapa implementé un pequeño script para calcular el promedio de temperaturas, el cual decidí llamar cputemp.sh:

#!/bin/sh
TEMP=0
CPUS=0
for T in $(sysctl -a | grep temperature | cut -d':' -f2 | tr -d " " | tr -d C | tr -d .)
do
  TEMP=$((TEMP + T))
  CPUS=$((CPUS + 1))
done
TEMP=$((TEMP / CPUS))
echo $((TEMP / 10))

El resultado de su ejecución es el siguiente:

emi@hal9000:~/scripts % ./cputemp.sh
44

Puede ser útil para implementar algún widget.


Tal vez pueda interesarte


Compartí este artículo