Как измерить температуру CPU во FreeBSD

Иногда требуется удаленно посмотреть температуру процессора в OS FreeBSD.

Сделать такое можно несколькими способами, в коллекции портов для таких целей имеется достаточно утилит но мы рассмотрим самые простые и стандартные способы

Самый простой и наиболее распространенный среди фряшников

Даем для начала первую команду

# kldload coretemp

Но если увидите нечто вроде этого

тогда вам надо перепроверить настройки securelevel

Для того что бы модуль подгружался с загрузкой системы надо добавить coretemp_load="YES" в /boot/loader.conf

Вот и все, модуль подгружен и работает, и настал тот момент когда мы хотим знать и какая там темперетура процессора на FreeBSD в данный момент ?

да все элементарно

достаточно дать команду:

# sysctl -a | grep temperature

Ответ как обычно прост

Несомненно это конечно приблизительная цыфра но всеже лучше чем вообще ни чего

Многие бывалые все же рекомендуют собрать ядро с опцией coretemp

Достаточно в конфиг ядра добавить:

device coretemp

после сборки и установки нового ядра и конечно же после перезагрузки даем:

# sysctl -a | grep hw.acpi.thermal.tz0.temperature

вывод будет примерно такой

hw.acpi.thermal.tz0.temperature: 54.0C

Работа этого варианта зависит от реализации acpi производителя материнской платы, однако...

Для более вразумительной информации конечно же лучше использовать специально предназначенные для этого тулзы типа

healthd, lmmon, mbmon, gkrellm

Если честно было ради интереса перепробывано все, но так вменяемого результата и не оказалось - у всех все по разному показывает

____________________________________________

Есть еще один способ интересный

# uname -rpm
8.2-RELEASE-p3 i386 i386

1. Пересобираем ядро с поддержкой следующих девайсов:

device smb
device smbus # System management bus
device intpm # Intel power management
device iicbus # I2C bus system
device iicsmb # I2C to SMB bridge
device iicbb # I2C generic bit-banging driver

2. Загружаем два ipmi модуля:

# kldload ichsmb.ko
# kldload ipmi.ko
# kldstat
Id Refs Address Size Name
1 11 0xc0400000 529f78 kernel
6 1 0xca101000 4000 ichsmb.ko
7 1 0xca10d000 a000 ipmi.ko
....

Смотрим /var/log/messages:

# tail /var/log/messages
kernel: ichsmb0: port 0×540-0×55f irq 17 at device 31.3 on pci0
kernel: ichsmb0: [GIANT-LOCKED]
kernel: smbus0: on ichsmb0
kernel: smb0: on smbus0
kernel: ipmi0: on smbus0
kernel: ipmi0: SSIF mode found at address 0×42 on smbus
kernel: ipmi0: IPMI device rev. 1, firmware rev. 2.81, version 1.5
kernel: ipmi0: Number of channels 0
kernel: ipmi0: Attached watchdog

3. Если все прошло хорошо, значит осталось установить утилиты для работы с IPMI. Я использовал пакет freeipmi.

# cd /usr/ports/sysutils/freeipmi
# make install clean

4. Проверяем работает ли то что нам нужно.
Все сенсоры:

# ipmi-sensors

...
25: Sys Fan 2A (Fan): 10593.22 RPM (NA/4237.29): [OK]
26: Sys Fan 2B (Fan): 7369.20 RPM (NA/3026.63): [OK]
27: Sys Fan 3A (Fan): 10593.22 RPM (NA/4237.29): [OK]
28: Sys Fan 3B (Fan): 7369.20 RPM (NA/3026.63): [OK]
29: Sys PCI Fan (Fan): 11299.44 RPM (NA/3531.07): [OK]
30: CPU 1 Therm Ctrl (Temperature): 0.00 unspecified (NA/79.95): [OK]
31: CPU 2 Therm Ctrl (Temperature): 0.00 unspecified (NA/79.95): [OK]
32: Proc1 Core Temp (Temperature): 43.00 C (5.00/99.00): [OK]
33: Proc2 Core Temp (Temperature): 44.00 C (5.00/99.00): [OK]
34: CPU1 12V (Voltage): 12.21 V (10.91/13.14): [OK]
35: CPU2 12V (Voltage): 12.15 V (10.91/13.14): [OK]
36: FrontPanel Temp (Temperature): 25.00 C (0.00/48.00): [OK]
37: Scrty Violation (Platform Chassis Intrusion): [OK]


Или только те что интересуют:

# ipmi-sensors -s 32,33
32: Proc1 Core Temp (Temperature): 43.00 C (5.00/99.00): [OK]
33: Proc2 Core Temp (Temperature): 44.00 C (5.00/99.00): [OK]

Не забываем добавить в /boot/loader.conf загрузку модулей:

# echo 'ichsmb_load="YES"' >> /boot/loader.conf
# echo 'ipmi_load="YES"' >> /boot/loader.conf

_____________________________________________________

Последний вариант не проверял но вроде как считается наиболее правдоподобным, но и mbmon тоже признан лучшим

P.S. А какая нам разница что 57 что 54 нам достаточно посмотреть приблизительно

Использованы материаллы статьи http://hottab.ru/freebsd/monitoring-temperatury-cpu-freebsd/

Обновлено: 12.03.2015