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