Як виміряти температуру cpu у freebsd

Як виміряти температуру CPU під FreeBSD

Іноді потрібно віддалено подивитися температуру процесора в OS FreeBSD.

Зробити таке можна кількома способами, в колекції портів для таких цілей є досить утиліт але ми розглянемо найпростіші і стандартні способи

Найпростіший і найпоширеніший серед фряшніков

Даємо для початку першу команду

Але якщо побачите щось на зразок цього

тоді вам треба перевірити ще раз налаштування securelevel

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

Ось і все, модуль довантажуючи і працює, і настав той момент коли ми хочемо знати і яка там темперетура процесора на FreeBSD в даний момент?

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

досить дати команду.

# Sysctl -a | grep temperature

Відповідь як завжди простий

Безсумнівно це звичайно приблизна цифрах але все ж краще ніж взагалі ні чого

Багато досвідчені все ж рекомендують зібрати ядро ​​з опцією coretemp

Досить в конфіг ядра додати.

після побудови та встановлення нового ядра і звичайно ж після перезавантаження даємо.

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

висновок буде приблизно такою

Робота цього варіанту залежить від реалізації 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
.

# 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. Перевіряємо чи працює то що нам потрібно.
Всі сенсори:


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 нам досить подивитися приблизно