управление кулерами

Обмен опытом по установке Линукс на разные аппаратные конфигурации

Модераторы: Olej, vikos

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление кулерами

Непрочитанное сообщение Olej » 05 фев 2022, 18:19

Olej писал(а):
05 фев 2022, 17:52
Двигаюсь в сторону увеличения оборотов - управляющее значение 200:
Теперь, начиная с таких достаточно больших значений (чтобы не палить процессор), даю процессорам весьма большую нагрузку - для всех 4-х реальных ядер (8 с гипертриэдингом) нагрузка 100% :

Код: Выделить всё

olej@ESPRIMO:/sys/class/hwmon$ inxi -Cxxx
CPU:       Topology: Quad Core model: Intel Xeon E3-1240 v3 bits: 64 type: MT MCP arch: Haswell rev: 3 L2 cache: 8192 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 54277 
           Speed: 3592 MHz min/max: 800/3800 MHz Core speeds (MHz): 1: 3592 2: 3592 3: 3592 4: 3592 5: 3592 6: 3592 7: 3592 
           8: 3592 

Код: Выделить всё

olej@ESPRIMO:~$ uptime
 15:55:12 up  2:08,  1 user,  load average: 4,66, 4,57, 3,36
Поехали...

Код: Выделить всё

root@ESPRIMO:/sys/class/hwmon/hwmon2# cat /sys/class/hwmon/hwmon3/device/pwm2
170
root@ESPRIMO:/sys/class/hwmon/hwmon2# cat /sys/class/hwmon/hwmon3/device/fan2_input
2556
root@ESPRIMO:/sys/class/hwmon/hwmon2# cat /sys/class/hwmon/hwmon2/temp1_input
77000
2556 об/мин => +77.00°C

Код: Выделить всё

root@ESPRIMO:/sys/class/hwmon/hwmon2# echo 190 > /sys/class/hwmon/hwmon3/device/pwm2
root@ESPRIMO:/sys/class/hwmon/hwmon2# cat /sys/class/hwmon/hwmon3/device/pwm2
190
root@ESPRIMO:/sys/class/hwmon/hwmon2# cat /sys/class/hwmon/hwmon3/device/fan2_input
2909
root@ESPRIMO:/sys/class/hwmon/hwmon2# cat /sys/class/hwmon/hwmon2/temp1_input
75000
2909 об/мин => +75.00°C ... и уже заметный шум
В сторону перегрева:

Код: Выделить всё

root@ESPRIMO:/sys/class/hwmon/hwmon3/device# echo 160 > /sys/class/hwmon/hwmon3/device/pwm2
root@ESPRIMO:/sys/class/hwmon/hwmon3/device# cat /sys/class/hwmon/hwmon3/device/pwm2
160
root@ESPRIMO:/sys/class/hwmon/hwmon3/device# cat /sys/class/hwmon/hwmon2/temp1_input
80000
root@ESPRIMO:/sys/class/hwmon/hwmon3/device# cat /sys/class/hwmon/hwmon3/device/fan2_input
2343
2343 об/мин => +80.00°C
Шума практически нет ... и это можно считать границей нагрева для этого конструктива.
Но проверю ещё в замедление кулера:

Код: Выделить всё

root@ESPRIMO:/sys/class/hwmon/hwmon3/device# echo 130 > /sys/class/hwmon/hwmon3/device/pwm2
root@ESPRIMO:/sys/class/hwmon/hwmon3/device# cat /sys/class/hwmon/hwmon3/device/pwm2 
130
root@ESPRIMO:/sys/class/hwmon/hwmon3/device# cat /sys/class/hwmon/hwmon3/device/fan2_input
1721
root@ESPRIMO:/sys/class/hwmon/hwmon3/device# cat /sys/class/hwmon/hwmon2/temp1_input
90000
Ну хватит ...
И это почти то, что устанавливается в режиме автоматического управления температурой (железом, системой? ... кто устанавливает границы?)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление кулерами

Непрочитанное сообщение Olej » 05 фев 2022, 18:24

Olej писал(а):
05 фев 2022, 17:52
Дальше совсем просто
Конечно, проще 2 параметра из 3-х (кроме коэффициента записываемого в /sys/class/hwmon/hwmon3/device/pwm2 - обороты кулера /sys/class/hwmon/hwmon3/device/fan2_input + температуру кристала /sys/class/hwmon/hwmon2/temp1_input) можно проще смотреть так:

Код: Выделить всё

olej@ESPRIMO:/sys/class/hwmon$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +77.0°C  (high = +80.0°C, crit = +100.0°C)
Core 0:        +76.0°C  (high = +80.0°C, crit = +100.0°C)
Core 1:        +77.0°C  (high = +80.0°C, crit = +100.0°C)
Core 2:        +77.0°C  (high = +80.0°C, crit = +100.0°C)
Core 3:        +73.0°C  (high = +80.0°C, crit = +100.0°C)

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +27.8°C  (crit = +105.0°C)
temp2:        +29.8°C  (crit = +105.0°C)

w83667hg-isa-0a00
Adapter: ISA adapter
Vcore:          0.00 V  (min =  +0.00 V, max =  +1.74 V)
in1:            0.00 V  (min =  +1.70 V, max =  +0.17 V)  ALARM
AVCC:           3.42 V  (min =  +0.93 V, max =  +0.94 V)  ALARM
+3.3V:          3.41 V  (min =  +1.97 V, max =  +3.55 V)
in4:            0.00 V  (min =  +0.02 V, max =  +0.26 V)  ALARM
in5:            0.00 V  (min =  +0.86 V, max =  +1.69 V)  ALARM
in6:          200.00 mV (min =  +1.02 V, max =  +0.44 V)  ALARM
3VSB:           3.42 V  (min =  +1.54 V, max =  +0.03 V)  ALARM
Vbat:           3.33 V  (min =  +1.20 V, max =  +3.12 V)  ALARM
fan1:            0 RPM  (min =  405 RPM, div = 128)  ALARM
fan2:         3013 RPM  (min =  897 RPM, div = 16)
fan3:            0 RPM  (min = 5273 RPM, div = 128)  ALARM
fan4:            0 RPM  (min =  703 RPM, div = 128)  ALARM
fan5:            0 RPM  (min = 5273 RPM, div = 128)  ALARM
AUXTIN:        +43.0°C  (high =  -1.0°C, hyst = -57.0°C)  sensor = CPU diode
PECI Agent 1:  +76.5°C  (high =  -0.5°C, hyst = +75.0°C)  ALARM  sensor = Intel PECI
SYSTIN:       -128.0°C  (high =  -0.5°C, hyst = +75.0°C)  sensor = CPU diode
cpu0_vid:     +0.000 V
intrusion0:   ALARM

pch_haswell-virtual-0
Adapter: Virtual device
temp1:        +55.5°C  
Но меня интересовало их детальное местоположение в SYSFS.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление кулерами

Непрочитанное сообщение Olej » 05 фев 2022, 18:34

Olej писал(а):
05 фев 2022, 17:07
Меня пока интересует ручное управление, чтобы посмотреть (послушать) как шум конкретного кулера зависит оборотов, и как температура зависит от оборотов....
Возвращаю автоматическое управление кулерами:

Код: Выделить всё

root@ESPRIMO:/sys/class/hwmon/hwmon3/device# cat /sys/class/hwmon/hwmon3/device/pwm2_enable
1

root@ESPRIMO:/sys/class/hwmon/hwmon3/device# echo 0 >> /sys/class/hwmon/hwmon3/device/pwm2_enable
bash: echo: ошибка записи: Недопустимый аргумент
Вот так! :-o
Но такое значение, кажется, было там изначально:

Код: Выделить всё

root@ESPRIMO:/sys/class/hwmon/hwmon3/device# echo 4 >> /sys/class/hwmon/hwmon3/device/pwm2_enable
Смотрим:

Код: Выделить всё

root@ESPRIMO:/sys/class/hwmon/hwmon3/device# cat /sys/class/hwmon/hwmon3/device/pwm2
174
В таком состоянии он устойчиво держит эту цифру - 174 (?).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление кулерами

Непрочитанное сообщение Olej » 05 фев 2022, 18:52

Olej писал(а):
05 фев 2022, 18:34
В таком состоянии он устойчиво держит эту цифру - 174 (?).
Снимаю нагрузку:

Код: Выделить всё

root@ESPRIMO:/sys/class/hwmon/hwmon2# uptime 
 17:49:44 up  4:02,  1 user,  load average: 0,75, 2,92, 3,82
Проверяем:

Код: Выделить всё

root@ESPRIMO:/sys/class/hwmon/hwmon2# cat /sys/class/hwmon/hwmon3/device/pwm2
102

Код: Выделить всё

olej@ESPRIMO:/etc$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +39.0°C  (high = +80.0°C, crit = +100.0°C)
Core 0:        +36.0°C  (high = +80.0°C, crit = +100.0°C)
Core 1:        +39.0°C  (high = +80.0°C, crit = +100.0°C)
Core 2:        +35.0°C  (high = +80.0°C, crit = +100.0°C)
Core 3:        +34.0°C  (high = +80.0°C, crit = +100.0°C)

acpitz-acpi-0
Adapter: ACPI interface
temp1:        +27.8°C  (crit = +105.0°C)
temp2:        +29.8°C  (crit = +105.0°C)

w83667hg-isa-0a00
Adapter: ISA adapter
Vcore:          0.00 V  (min =  +0.00 V, max =  +1.74 V)
in1:            0.00 V  (min =  +1.70 V, max =  +0.17 V)  ALARM
AVCC:           3.42 V  (min =  +0.93 V, max =  +0.94 V)  ALARM
+3.3V:          3.41 V  (min =  +1.97 V, max =  +3.55 V)
in4:            0.00 V  (min =  +0.02 V, max =  +0.26 V)  ALARM
in5:            0.00 V  (min =  +0.86 V, max =  +1.69 V)  ALARM
in6:          200.00 mV (min =  +1.02 V, max =  +0.44 V)  ALARM
3VSB:           3.42 V  (min =  +1.54 V, max =  +0.03 V)  ALARM
Vbat:           3.33 V  (min =  +1.20 V, max =  +3.12 V)  ALARM
fan1:            0 RPM  (min =  405 RPM, div = 128)  ALARM
fan2:         1259 RPM  (min =  897 RPM, div = 16)
fan3:            0 RPM  (min = 5273 RPM, div = 128)  ALARM
fan4:            0 RPM  (min =  703 RPM, div = 128)  ALARM
fan5:            0 RPM  (min = 5273 RPM, div = 128)  ALARM
AUXTIN:        +40.0°C  (high =  -1.0°C, hyst = -57.0°C)  sensor = CPU diode
PECI Agent 1:  +38.5°C  (high =  -0.5°C, hyst = +75.0°C)  sensor = Intel PECI
SYSTIN:        -35.5°C  (high =  -0.5°C, hyst = +75.0°C)  sensor = CPU diode
cpu0_vid:     +0.000 V
intrusion0:   ALARM

pch_haswell-virtual-0
Adapter: Virtual device
temp1:        +52.0°C  
Похоже что он вполне адаптивно меняет обороты кулера!

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление кулерами

Непрочитанное сообщение Olej » 05 фев 2022, 18:58

Olej писал(а):
05 фев 2022, 18:52
Снимаю нагрузку:
Половинная нагрузка:

Код: Выделить всё

root@ESPRIMO:/sys/class/hwmon/hwmon2# uptime 
 17:57:41 up  4:10,  1 user,  load average: 2,12, 1,92, 2,86

root@ESPRIMO:/sys/class/hwmon/hwmon2# cat /sys/class/hwmon/hwmon3/device/pwm2
126

root@ESPRIMO:/sys/class/hwmon/hwmon2# cat /sys/class/hwmon/hwmon3/device/fan2_input
1687

root@ESPRIMO:/sys/class/hwmon/hwmon2# cat /sys/class/hwmon/hwmon2/temp1_input
73000

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление кулерами

Непрочитанное сообщение Olej » 05 фев 2022, 19:09

Olej писал(а):
05 фев 2022, 18:52
Похоже что он вполне адаптивно меняет обороты кулера!
Это при том, что сервис fancontrol сейчас не работает:

Код: Выделить всё

root@ESPRIMO:/sys/class/hwmon/hwmon2# systemctl status fancontrol
● fancontrol.service - fan speed regulator
     Loaded: loaded (/lib/systemd/system/fancontrol.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Sat 2022-02-05 17:27:21 EET; 34min ago
       Docs: man:fancontrol(8)
             man:pwmconfig(8)
    Process: 18213 ExecStartPre=/usr/sbin/fancontrol --check (code=exited, status=1/FAILURE)

фев 05 17:27:21 ESPRIMO systemd[1]: Starting fan speed regulator...
фев 05 17:27:21 ESPRIMO fancontrol[18213]: Loading configuration from /etc/fancontrol ...
фев 05 17:27:21 ESPRIMO fancontrol[18213]: Some mandatory settings missing, please check your config file!
фев 05 17:27:21 ESPRIMO systemd[1]: fancontrol.service: Control process exited, code=exited, status=1/FAILURE
фев 05 17:27:21 ESPRIMO systemd[1]: fancontrol.service: Failed with result 'exit-code'.
фев 05 17:27:21 ESPRIMO systemd[1]: Failed to start fan speed regulator.
Он обламывается потому, что запуск pwmconfig я прервал на пол-дороги, и он записал битый файл конфигурации:

Код: Выделить всё

root@ESPRIMO:/sys/class/hwmon/hwmon2# cat /etc/fancontrol
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=10
DEVPATH=
DEVNAME=
FCTEMPS=
FCFANS=
MINTEMP=
MAXTEMP=
MINSTART=
MINSTOP=
Но тогда кто адаптивно регулирует кулер?

Код: Выделить всё

root@ESPRIMO:/sys/class/hwmon/hwmon2# ps -A | grep fan
root@ESPRIMO:/sys/class/hwmon/hwmon2# 
И не нарушится ли, устраивающее меня, состояние после перезагрузки компьютера?

Код: Выделить всё

root@ESPRIMO:/sys/class/hwmon/hwmon2# systemctl is-enabled fancontrol
enabled

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление кулерами

Непрочитанное сообщение Olej » 05 фев 2022, 19:39

Olej писал(а):
05 фев 2022, 19:09
Это при том, что сервис fancontrol сейчас не работает:
Olej писал(а):
05 фев 2022, 19:09
Но тогда кто адаптивно регулирует кулер?

Код: Выделить всё

olej@ESPRIMO:/sys/class/hwmon$ aptitude show fancontrol
Пакет: fancontrol
Версия: 1:3.6.0-2ubuntu1
Состояние: установлен
Установлен автоматически: нет
Приоритет: дополнительный
Раздел: universe/utils
Сопровождающий: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Архитектура: all
Размер в распакованном виде: 96,3 k
Зависит: lsb-base (>= 3.2-13)
Предварительно зависит: init-system-helpers (>= 1.54~)
Описание: управление скоростью вентиляторов
 Lm-sensors – пакет для слежения за состоянием аппаратного обеспечения в Linux. Позволяет получать информацию с датчиков температуры, напряжения и
 оборотов вентиляторов. Работает в большинстве современных систем.

 Пакет содержит службу, которая в зависимости от температуры оборудования рассчитывает необходимую скорость работы вентилятора и устанавливает
 напряжение в соответствии с рассчитанными величинами. Это особенно полезно, если BIOS или ACPI не предоставляет такой функционал, что весьма типично
 для ноутбуков.
Домашняя страница: https://hwmon.wiki.kernel.org/lm_sensors
Могу предположить, что BIOS/UEFI моей системной платы предоставляет такую функцию? :-o

Код: Выделить всё

olej@ESPRIMO:/sys/class/hwmon$ inxi -Mxxx
Machine:   Type: Desktop System: FUJITSU product: ESPRIMO P420 v: N/A serial: <superuser/root required> Chassis: type: 6 
           v: C$WH01 serial: <superuser/root required> 
           Mobo: FUJITSU model: D3230-A1 v: S26361-D3230-A1 serial: <superuser/root required> 
           BIOS: FUJITSU // American Megatrends v: 4.6.5.4 R1.17.0 for D3230-A1x date: 03/06/2014 

Код: Выделить всё

olej@ESPRIMO:/sys/class/hwmon$ inxi -sxxx
Sensors:   System Temperatures: cpu: 53.0 C mobo: 29.8 C gpu: nvidia temp: 44 C 
           Fan Speeds (RPM): cpu: 0 fan-2: 1834 fan-3: 0 fan-4: 0 fan-5: 0 gpu: nvidia fan: 41% 
           Voltages: 12v: N/A 5v: N/A 3.3v: 3.42 vbat: 3.33 

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление кулерами

Непрочитанное сообщение Olej » 05 фев 2022, 23:55

Olej писал(а):
05 фев 2022, 19:39
Могу предположить, что BIOS/UEFI моей системной платы предоставляет такую функцию?
Тут в отношении обзоров, относительно железа, критически важна свежая дата публикации...
BIOS: управление работой вентиляторов
22.09.2011
Настройка кулера в BIOS
17.12.2021
Управление температурой ПК через BIOS
30.01.2019

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление кулерами

Непрочитанное сообщение Olej » 06 фев 2022, 13:49

Olej писал(а):
05 фев 2022, 23:55
Настройка кулера в BIOS

Код: Выделить всё

olej@ESPRIMO:~$ sudo dmidecode --type bios
# dmidecode 3.2
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
	Vendor: FUJITSU // American Megatrends Inc.
	Version: V4.6.5.4 R1.17.0 for D3230-A1x
...
По крайней мере, в моём BIOS American Megatrends, Inc - никаких детальных настроек нет!
Хотя и есть позиции:
FAN Control - Enable
Power-on Source - ACPI

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление кулерами

Непрочитанное сообщение Olej » 06 фев 2022, 16:07

Olej писал(а):
06 фев 2022, 13:49
По крайней мере, в моём BIOS American Megatrends, Inc - никаких детальных настроек нет!
Итого: в BIOS у меня нет никаких температурных настроек, а BIOS-управление температурой не позволяет мне вогнать температуру ниже 80 (границы 80/100 я изменить не могу):

Код: Выделить всё

olej@ESPRIMO:~$ sensors coretemp-isa-0000
coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +86.0°C  (high = +80.0°C, crit = +100.0°C)
Core 0:        +82.0°C  (high = +80.0°C, crit = +100.0°C)
Core 1:        +86.0°C  (high = +80.0°C, crit = +100.0°C)
Core 2:        +85.0°C  (high = +80.0°C, crit = +100.0°C)
Core 3:        +80.0°C  (high = +80.0°C, crit = +100.0°C)
Может это и годится... но я настрою Linux механизмы управления температурой....

Ответить

Вернуться в «Железо для Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 8 гостей