Не работает охлаждение CPU

waldy-m
как сделать с bootctl
https://wiki.archlinux.org/index.php/Kernel_parameters#systemd-boot

Покажите еще вывод
sudo acpi -v
sudo pwmconfig
#и
sudo sensors-detect
lm_sensors поставить если нет
vs220
Покажите еще вывод
[root@archlinux waldy]# acpi -v
bash: acpi: команда не найдена
[root@archlinux waldy]# pwmconfig
# pwmconfig version 3.6.0
This program will search your sensors for pulse width modulation (pwm)
controls, and test each one to see if it controls a fan on
your motherboard. Note that many motherboards do not have pwm
circuitry installed, even if your sensor chip supports pwm.

We will attempt to briefly stop each fan using the pwm controls.
The program will attempt to restore each fan to full speed
after testing. However, it is ** very important ** that you
physically verify that the fans have been to full speed
after the program has completed.

/usr/bin/pwmconfig: There are no pwm-capable sensor modules installed
[root@archlinux waldy]# sensors-detect
# sensors-detect version 3.6.0
# System: Default string Default string [Default string]
# Board: AMI Corporation T3 MRD
# Kernel: 5.10.8-arch1-1 x86_64
# Processor: Intel(R) Atom(TM) x5-Z8350 CPU @ 1.44GHz (6/76/4)

This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.

Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no): yes
Silicon Integrated Systems SIS5595...                       No
VIA VT82C686 Integrated Sensors...                          No
VIA VT8231 Integrated Sensors...                            No
AMD K8 thermal sensors...                                   No
AMD Family 10h thermal sensors...                           No
AMD Family 11h thermal sensors...                           No
AMD Family 12h and 14h thermal sensors...                   No
AMD Family 15h thermal sensors...                           No
AMD Family 16h thermal sensors...                           No
AMD Family 17h thermal sensors...                           No
AMD Family 15h power sensors...                             No
AMD Family 16h power sensors...                             No
Hygon Family 18h thermal sensors...                         No
Intel digital thermal sensor...                             Success!
    (driver `coretemp')
Intel AMB FB-DIMM thermal sensor...                         No
Intel 5500/5520/X58 thermal sensor...                       No
VIA C7 thermal sensor...                                    No
VIA Nano thermal sensor...                                  No

Some Super I/O chips contain embedded sensors. We have to write to
standard I/O ports to probe them. This is usually safe.
Do you want to scan for Super I/O sensors? (YES/no): yes
Probing for Super-I/O at 0x2e/0x2f
Trying family `National Semiconductor/ITE'...               No
Trying family `SMSC'...                                     No
Trying family `VIA/Winbond/Nuvoton/Fintek'...               No
Trying family `ITE'...                                      No
Probing for Super-I/O at 0x4e/0x4f
Trying family `National Semiconductor/ITE'...               No
Trying family `SMSC'...                                     No
Trying family `VIA/Winbond/Nuvoton/Fintek'...               No
Trying family `ITE'...                                      No

Some systems (mainly servers) implement IPMI, a set of common interfaces
through which system health data may be retrieved, amongst other things.
We first try to get the information from SMBIOS. If we don't find it
there, we have to read from arbitrary I/O ports to probe for such
interfaces. This is normally safe. Do you want to scan for IPMI
interfaces? (YES/no): yes
# DMI data unavailable, please consider installing dmidecode 2.7
# or later for better results.
Probing for `IPMI BMC KCS' at 0xca0...                      Success!
    (confidence 4, driver `to-be-written')
Probing for `IPMI BMC SMIC' at 0xca8...                     Success!
    (confidence 4, driver `to-be-written')

Some hardware monitoring chips are accessible through the ISA I/O ports.
We have to write to arbitrary I/O ports to probe them. This is usually
safe though. Yes, you do have ISA I/O ports even if you do not have any
ISA slots! Do you want to scan the ISA I/O ports? (YES/no): yes
Probing for `National Semiconductor LM78' at 0x290...       No
Probing for `National Semiconductor LM79' at 0x290...       No
Probing for `Winbond W83781D' at 0x290...                   No
Probing for `Winbond W83782D' at 0x290...                   No

Lastly, we can probe the I2C/SMBus adapters for connected hardware
monitoring devices. This is the most risky part, and while it works
reasonably well on most systems, it has been reported to cause trouble
on some systems.
Do you want to probe the I2C/SMBus adapters now? (YES/no): yes
Sorry, no supported PCI bus adapters found.
Module i2c-dev loaded successfully.

Next adapter: Synopsys DesignWare I2C adapter (i2c-0)
Do you want to scan it? (YES/no/selectively): yes
Adapter doesn't support all probing functions.
Some addresses won't be probed.

Next adapter: Synopsys DesignWare I2C adapter (i2c-1)
Do you want to scan it? (YES/no/selectively): yes
Adapter doesn't support all probing functions.
Some addresses won't be probed.
Client at address 0x1a can not be probed - unload all client drivers first!

Next adapter: Synopsys DesignWare I2C adapter (i2c-2)
Do you want to scan it? (YES/no/selectively): yes
Adapter doesn't support all probing functions.
Some addresses won't be probed.

Next adapter: Synopsys DesignWare I2C adapter (i2c-3)
Do you want to scan it? (YES/no/selectively): yes
Adapter doesn't support all probing functions.
Some addresses won't be probed.

Next adapter: Synopsys DesignWare I2C adapter (i2c-4)
Do you want to scan it? (YES/no/selectively):
Adapter doesn't support all probing functions.
Some addresses won't be probed.

Next adapter: Synopsys DesignWare I2C adapter (i2c-5)
Do you want to scan it? (YES/no/selectively): yes
Adapter doesn't support all probing functions.
Some addresses won't be probed.

Next adapter: Synopsys DesignWare I2C adapter (i2c-6)
Do you want to scan it? (YES/no/selectively): yes
Adapter doesn't support all probing functions.
Some addresses won't be probed.

Next adapter: i915 gmbus ssc (i2c-7)
Do you want to scan it? (yes/NO/selectively): n

Next adapter: i915 gmbus vga (i2c-8)
Do you want to scan it? (yes/NO/selectively): n

Next adapter: i915 gmbus panel (i2c-9)
Do you want to scan it? (yes/NO/selectively): n

Next adapter: i915 gmbus dpc (i2c-10)
Do you want to scan it? (yes/NO/selectively): n

Next adapter: i915 gmbus dpb (i2c-11)
Do you want to scan it? (yes/NO/selectively): n

Next adapter: i915 gmbus dpd (i2c-12)
Do you want to scan it? (yes/NO/selectively): n

Next adapter: AUX D/port D (i2c-13)
Do you want to scan it? (yes/NO/selectively): n
Now follows a summary of the probes I have just done.
Just press ENTER to continue:

Driver `to-be-written':
  * ISA bus, address 0xca0
    Chip `IPMI BMC KCS' (confidence: 4)
  * ISA bus, address 0xca8
    Chip `IPMI BMC SMIC' (confidence: 4)

Driver `coretemp':
  * Chip `Intel digital thermal sensor' (confidence: 9)

Note: there is no driver for IPMI BMC KCS yet.
Check https://hwmon.wiki.kernel.org/device_support_status for updates.

Do you want to generate /etc/conf.d/lm_sensors? (YES/no): yes
Created symlink /etc/systemd/system/multi-user.target.wants/lm_sensors.service → /usr/lib/systemd/system/lm_sensors.service.
Unloading i2c-dev... OK

waldy-m, если температура достает, в смысле слишком высокая, то можешь временно, пока не решил проблему, сразу после загрузки выполнить команду
echo 1 | sudo tee /sys/class/thermal/cooling_device[0-3]/cur_state
этим самым понизишь температуру (за счет понижения частоты процессора) - чем больше значение cur_state (в пределах 0-10), тем ниже будет температура (ниже частота).
Судя по представленным выводам модуль thermal работает нормально и должно сработать.
В принципе температуру можешь выводить и так, без исползования других утилит
awk '{ print $1/1000 }' /sys/class/thermal/thermal_zoneN/temp
где N - номер зоны поставь свой
Ошибки не исчезают с опытом - они просто умнеют
vasek
В принципе температуру можешь выводить и так, без исползования других утилит
На данный момент
[root@archlinux waldy]# awk '{ print $1/1000 }' /sys/class/thermal/thermal_zone0/temp
43.6
[root@archlinux waldy]# awk '{ print $1/1000 }' /sys/class/thermal/thermal_zone3/temp
51
waldy-m
На данный момент
ну вот и не нужны никакие другие утилиты - такое впечатление, что все работает нормально и вентилятор крутится ... ???
На всякий случай проверь, сработает ли эта команда
echo 1 | sudo tee /sys/class/thermal/cooling_device[0-3]/cur_state
если сработает, то можно ее в дальнейшем использовать для понижения температуры/частоты - вместо единицы любое число от 0 до 10 (выше писал)

PS - чтобы вернуть в нормальное состояние, выполни - echo 0 | sudo tee /sys/class/thermal/cooling_device[0-3]/cur_state

EDIT 1 - для вывода удобнее использовать одну, наибольшую температуру (thermal_zone3) - awk '{ print $1/1000 }' /sys/class/thermal/thermal_zone3/temp
Ошибки не исчезают с опытом - они просто умнеют
vasek
такое впечатление, что все работает нормально и вентилятор крутится … ???
[root@archlinux waldy]# echo 1 | sudo tee /sys/class/thermal/cooling_device[0-3]/cur_state
1
[root@archlinux waldy]# echo 10 | sudo tee /sys/class/thermal/cooling_device[0-3]/cur_state
10
Команда может и работает, а вот вентилятор не крутится (его не слышно).
waldy-m
Команда может и работает, а вот вентилятор не крутится (его не слышно).
нужно смотреть при этом как меняется частота (watch grep MHz /proc/cpuinfo) и температура (awk '{ print $1/1000 }' /sys/class/thermal/thermal_zone3/temp) - при этом нужно увеличить нагрузку на cpu.
Складывается впечатление, что установлена минимальная температура, ниже которой вентилятор выключается - это нужно обязательно проверить.
Рекомендую
1. Установить пакет stress
2. Открыть два терминала: в одном запускаешь (не забудь вернуть значение cur_state в 0 - по дефолту)
while true;do cat awk '{ print $1/1000 }' /sys/class/thermal/thermal_zone3/temp; sleep 1; done
в другом
stress --cpu 4 --vm-bytes 128M --timeout 15s
думаю за 15 секунд сильно не нагреется ... но если температура будет очень высокая, то останови команду stress ( нажатием Ctrl+C)
хотя не знаю какое время нужно, чтобы вентилятор заработал, если установлена минимальная температура для его выключения.
Если не включится, тогда на уме только одно - пробовать подбирать параметр ядра acpi_osi= .... так вроде все работает нормально ...

PS - хотя эту минимальную температуру возможно можно посмотреть и в выводе - cat /sys/class/thermal/thermal_zone*/trip_point*

EDIT 1 - у меня, например, эта минимальная температура равна 55 град ... но ниже этой температуры у меня вентилятор не выключается, а устанавливаются минимальные обороты, превысит 55 град - обороты увеличиваются. А вот что за система охлаждения у этого китайского девайса, не известно. По идее это должно быть прописано в таблице DSDT.
Ошибки не исчезают с опытом - они просто умнеют
Уточнение в части понижения температуры
vasek
если температура достает, в смысле слишком высокая, то можешь временно, пока не решил проблему, сразу после загрузки выполнить команду
echo 1 | sudo tee /sys/class/thermal/cooling_device[0-3]/cur_state
этим самым понизишь температуру (за счет понижения частоты процессора) - чем больше значение cur_state (в пределах 0-10), тем ниже будет температура (ниже частота).
По идее, согласно DOC, правильнее действовать не много по другому - учитывая твой вывод
waldy-m
grep intel /sys/class/thermal/cooling_device*/type
/sys/class/thermal/cooling_device5/type:intel_powerclamp
нужно запустить другую команду - echo N | sudo tee /sys/class/thermal/cooling_device5/cur_state - где N число от 0 до 50 - вообщем, грубо говоря, чем больше число, тем больше времени cpu находится в C-состояниях .......... когда экспериментировал, то температура сильно не росла, а частота была на максимуме.
Но мне больше нравится тот вариант - echo N | sudo tee /sys/class/thermal/cooling_device[0-3]/cur_state - где N число от 0 до 10, где я вижу глазками, что падает частота, а вот ко 2-му варианту что то у меня доверия нет - хотя особо не экспериментировал - да и пользуюсь этим довольно редко.
Ошибки не исчезают с опытом - они просто умнеют
vasek,вот у меня все не так,conky показывают температуру от 0 до 10 градусов,файлов половину нету,это оттого что AMD или что-то не в порядке?
когда нагружаю процессор больше вентилятор крутится сильнее,перегрева нет,нагружал проц на 100% часов на 5,никаких проблем.
надо делать что-нибудь или плюнуть,раз все работает?да,на винде aida64 правильно показывает температуры и обороты кулеров.
как вывести обороты кулера в Linux?
$ sensors
radeon-pci-0008
Adapter: PCI adapter
temp1:        +10.0°C  (crit = +120.0°C, hyst = +90.0°C)

k10temp-pci-00c3
Adapter: PCI adapter
temp1:        +11.4°C  (high = +70.0°C)
xsensors nj;t 9-19 градусов показывает.
sensors | grep fan ничего не выдает.
[code]fancontrol
Loading configuration from /etc/fancontrol ...
Error: Can't read configuration file
sensors | grep fan ничего
xsensors -9-10 градусов
fancontrol
Loading configuration from /etc/fancontrol ...
Error: Can't read configuration file
Linux Forever!
Vadim
conky показывают температуру от 0 до 10 градусов,файлов половину нету,это оттого что AMD или что-то не в порядке?
Скорее всего причина в модуле - у тебя датчик определился? … модуль прописан в конфиге?
Если да, то возможно с модулем/датчиком что то не так … и нужно смотреть сначала DOC
- Wiki, в которой есть интересное замечание (со сылкой на исходники)
All these processors have a sensor, but on those for Socket F or AM2+, the sensor may return inconsistent values (erratum 319). The driver will refuse to load on these revisions unless users specify the force=1 module parameter … 
- исходники linux/Documentation/hwmon/k10temp.rst - уточнить подходит ли твой чип, сокет и др.
… если все подходит - устанавливай нужный параметр и проверяй …

Если не поможет, можно применить другой приближенный способ, основанный на том, что датчик AMD показывает не абсолютное значение температуры, а относительное, то есть со смещением от не которого фиксированного значения, которое можно грубо определить самому - оно примерно находится в диапазоне 10-30 град. Примерно можно оценить это значение в windows - сразу после загрузки, не нагружая систему смотри показание - разница в показаниях в linux и в windows и будет тем относительным значением.
Дальше можешь уточить - запомни шум вентилятора (как то хвалился, что можешь многое по слуху), далее увеличь нагрузку, чтобы температура поднялась градусов на 10-20, вентилятор должен выйти на другой режим, запоминай шум - и далее можешь уточнить это значение в Linux.
Можешь смеятся и не верить, но иногда так делают, когда других способов нет и уверен, что все работает правильно.
Это хорошо работает, если управление вентилятором организовано ступенчато, когда мощность вентилятора увеличивается при достижении определенной температуры. И не удобно, если мощность поднимается непрерывно, без ступенек …. но оцениться, хоть и грубо, всеравно можно.
Ошибки не исчезают с опытом - они просто умнеют
 
Зарегистрироваться или войдите чтобы оставить сообщение.