Pavel Belyaev 4 months ago
parent 22b02c55c8
commit 123e150814

@ -1,112 +1,112 @@
# fanControlLinux # fanControlLinux
Скрипт, регулирующий скорость вращения вентиляторов на основе температуры процессора и жестких дисков. Скрипт, регулирующий скорость вращения вентиляторов на основе температуры процессора и жестких дисков.
Оценивает температуру 4х дисков, определяет самый горячий. Оценивает температуру 4х дисков, определяет самый горячий.
Работает на основе линейной функции, например при температуре 40 градусов нужны обороты 40%, а при температуре 45 градусов уже 65%, Работает на основе линейной функции, например при температуре 40 градусов нужны обороты 40%, а при температуре 45 градусов уже 65%,
как понять какие обороты поставить в промежуточной точке 43 градуса? как понять какие обороты поставить в промежуточной точке 43 градуса?
Нужно по двум координатам графика просчитать коэффициенты **Y=(kx+b)** (**K** и **B**), Y в данном случае обороты, а X - температура, Нужно по двум координатам графика просчитать коэффициенты **Y=(kx+b)** (**K** и **B**), Y в данном случае обороты, а X - температура,
т.е., зная коэффициенты графика можно подставить любой X и посчитать Y. т.е., зная коэффициенты графика можно подставить любой X и посчитать Y.
Но график меняет своё ускорение, на малых температурах можно понизить обороты, но вот если слишком жарко на улице и нагрузка на систему большая, Но график меняет своё ускорение, на малых температурах можно понизить обороты, но вот если слишком жарко на улице и нагрузка на систему большая,
то температура может приближаться к критичной и в этом случае нужно сильнее прибавлять с каждым градусом. то температура может приближаться к критичной и в этом случае нужно сильнее прибавлять с каждым градусом.
## Terramaster F4-423 - датчики ## Terramaster F4-423 - датчики
``` ```
modprobe coretemp modprobe coretemp
modprobe drivetemp modprobe drivetemp
modprobe it87 force_id=0x8620 modprobe it87 force_id=0x8620
``` ```
Для вашего конкретного устройства добивайтесь, чтобы команда `sensors` выводила все датчики, пример, Для вашего конкретного устройства добивайтесь, чтобы команда `sensors` выводила все датчики, пример,
когда детектятся все жесткие диски, процессор и обороты вентилятора. когда детектятся все жесткие диски, процессор и обороты вентилятора.
``` ```
drivetemp-scsi-3-0 drivetemp-scsi-3-0
Adapter: SCSI adapter Adapter: SCSI adapter
temp1: +38.0°C (low = +0.0°C, high = +60.0°C) temp1: +38.0°C (low = +0.0°C, high = +60.0°C)
(crit low = -40.0°C, crit = +70.0°C) (crit low = -40.0°C, crit = +70.0°C)
(lowest = +25.0°C, highest = +41.0°C) (lowest = +25.0°C, highest = +41.0°C)
drivetemp-scsi-1-0 drivetemp-scsi-1-0
Adapter: SCSI adapter Adapter: SCSI adapter
temp1: +41.0°C (low = +0.0°C, high = +60.0°C) temp1: +41.0°C (low = +0.0°C, high = +60.0°C)
(crit low = -40.0°C, crit = +70.0°C) (crit low = -40.0°C, crit = +70.0°C)
(lowest = +26.0°C, highest = +43.0°C) (lowest = +26.0°C, highest = +43.0°C)
coretemp-isa-0000 coretemp-isa-0000
Adapter: ISA adapter Adapter: ISA adapter
Package id 0: +43.0°C (high = +105.0°C, crit = +105.0°C) Package id 0: +43.0°C (high = +105.0°C, crit = +105.0°C)
Core 0: +38.0°C (high = +105.0°C, crit = +105.0°C) Core 0: +38.0°C (high = +105.0°C, crit = +105.0°C)
Core 1: +38.0°C (high = +105.0°C, crit = +105.0°C) Core 1: +38.0°C (high = +105.0°C, crit = +105.0°C)
Core 2: +38.0°C (high = +105.0°C, crit = +105.0°C) Core 2: +38.0°C (high = +105.0°C, crit = +105.0°C)
Core 3: +38.0°C (high = +105.0°C, crit = +105.0°C) Core 3: +38.0°C (high = +105.0°C, crit = +105.0°C)
acpitz-acpi-0 acpitz-acpi-0
Adapter: ACPI interface Adapter: ACPI interface
temp1: +27.8°C temp1: +27.7°C
it8620-isa-0a30 it8620-isa-0a30
Adapter: ISA adapter Adapter: ISA adapter
in0: 1.88 V (min = +0.00 V, max = +3.06 V) in0: 1.88 V (min = +0.00 V, max = +3.06 V)
in1: 1.37 V (min = +0.00 V, max = +3.06 V) in1: 1.37 V (min = +0.00 V, max = +3.06 V)
in2: 2.23 V (min = +0.00 V, max = +3.06 V) in2: 2.23 V (min = +0.00 V, max = +3.06 V)
+5V: 5.59 V (min = +0.00 V, max = +6.12 V) +5V: 5.59 V (min = +0.00 V, max = +6.12 V)
in4: 2.27 V (min = +0.00 V, max = +3.06 V) in4: 2.27 V (min = +0.00 V, max = +3.06 V)
in5: 2.21 V (min = +0.00 V, max = +3.06 V) in5: 2.21 V (min = +0.00 V, max = +3.06 V)
in6: 1.34 V (min = +0.00 V, max = +3.06 V) in6: 1.34 V (min = +0.00 V, max = +3.06 V)
3VSB: 5.06 V (min = +0.00 V, max = +6.12 V) 3VSB: 5.06 V (min = +0.00 V, max = +6.12 V)
Vbat: 3.36 V Vbat: 3.36 V
fan2: 0 RPM (min = 0 RPM) fan2: 0 RPM (min = 0 RPM)
fan3: 1875 RPM (min = 0 RPM) fan3: 1875 RPM (min = 0 RPM)
fan4: 0 RPM (min = 0 RPM) fan4: 0 RPM (min = 0 RPM)
fan5: 0 RPM (min = 0 RPM) fan5: 0 RPM (min = 0 RPM)
temp1: +34.0°C (low = -128.0°C, high = +127.0°C) sensor = thermal diode temp1: +34.0°C (low = -128.0°C, high = +127.0°C) sensor = thermal diode
temp2: +35.0°C (low = -128.0°C, high = +127.0°C) sensor = thermal diode temp2: +35.0°C (low = -128.0°C, high = +127.0°C) sensor = thermal diode
temp3: +40.0°C (low = -128.0°C, high = +127.0°C) temp3: +40.0°C (low = -128.0°C, high = +127.0°C)
temp4: +40.0°C temp4: +40.0°C
temp5: +40.0°C temp5: +40.0°C
temp6: +40.0°C temp6: +40.0°C
intrusion0: ALARM intrusion0: ALARM
drivetemp-scsi-2-0 drivetemp-scsi-2-0
Adapter: SCSI adapter Adapter: SCSI adapter
temp1: +41.0°C (low = +0.0°C, high = +60.0°C) temp1: +41.0°C (low = +0.0°C, high = +60.0°C)
(crit low = -40.0°C, crit = +70.0°C) (crit low = -40.0°C, crit = +70.0°C)
(lowest = +26.0°C, highest = +43.0°C) (lowest = +26.0°C, highest = +43.0°C)
drivetemp-scsi-0-0 drivetemp-scsi-0-0
Adapter: SCSI adapter Adapter: SCSI adapter
temp1: +39.0°C (low = +0.0°C, high = +60.0°C) temp1: +39.0°C (low = +0.0°C, high = +60.0°C)
(crit low = -40.0°C, crit = +70.0°C) (crit low = -40.0°C, crit = +70.0°C)
(lowest = +26.0°C, highest = +42.0°C) (lowest = +26.0°C, highest = +42.0°C)
nvme-pci-0300 nvme-pci-0300
Adapter: PCI adapter Adapter: PCI adapter
Composite: +37.9°C (low = -273.1°C, high = +81.8°C) Composite: +37.9°C (low = -273.1°C, high = +81.8°C)
(crit = +84.8°C) (crit = +84.8°C)
Sensor 1: +37.9°C (low = -273.1°C, high = +65261.8°C) Sensor 1: +37.9°C (low = -273.1°C, high = +65261.8°C)
Sensor 2: +34.9°C (low = -273.1°C, high = +65261.8°C) Sensor 2: +34.9°C (low = -273.1°C, high = +65261.8°C)
``` ```
## Определение датчиков в sys/class/hwmon ## Определение датчиков в sys/class/hwmon
``` ```
for f in $(ls -1 /sys/class/hwmon/); do echo $f" - "$(cat /sys/class/hwmon/${f}/name); done for f in $(ls -1 /sys/class/hwmon/); do echo $f" - "$(cat /sys/class/hwmon/${f}/name); done
``` ```
Данная команда выведет следующее Данная команда выведет следующее
``` ```
hwmon0 - acpitz hwmon0 - acpitz
hwmon1 - nvme hwmon1 - nvme
hwmon2 - coretemp hwmon2 - coretemp
hwmon3 - drivetemp hwmon3 - drivetemp
hwmon4 - drivetemp hwmon4 - drivetemp
hwmon5 - drivetemp hwmon5 - drivetemp
hwmon6 - drivetemp hwmon6 - drivetemp
hwmon7 - it8620 hwmon7 - it8620
``` ```
* **hwmon2** - температура процессора * **hwmon2** - температура процессора
* **hwmon7** - датчики чипсета, там и вентиляторы * **hwmon7** - датчики чипсета, там и вентиляторы

Loading…
Cancel
Save