LINUX.ORG.RU

Перегрев и cpufreqd


0

0

Всем привет! Я - обладатель глючноватого чипсета nForce 4, славящегося тем, что всегда в /proc/acpi/thermal_zone/THRM/temperature показыает температуру в 40 градусов. В принципе, это не проблема, так как есть sensors, показывающая температуру правильно.

Проблема в том, что при достижении большой температуры (>80С), компьютер виснет, а удалённо перезагружать его в таком случае проблематично. В /etc/cpufreqd.conf есть следующее:

##
# Special Rules
##
# CPU Too hot!
[Rule]
name=CPU Too Hot
acpi_temperature=55-100
cpu_interval=50-100
profile=Performance Low
[/Rule]

Видно, что демон смотрит «глючную» температуру и, даже если процессор горячий, не снижает его частоту. Вопрос: как переконфигурить демон, чтобы он смотрел на sensors, а не acpi?


Если зависимость между глючной и не глючной температурой линейная, то просто взять и тупо пересчитать значения из неглючной в глючную и вбить в тот конфиг)

Nao ★★★★★
()
Ответ на: комментарий от Nao

Зависимости нет. ACPI всегда показывает 40 градусов.

Vshmuk
() автор топика

По идее он должен брать температуру у lm-sensors.
Смотри man cpufreqd.conf на предмет опции sensors plugin

Nao ★★★★★
()

>при достижении большой температуры

Осильте же поставить нормальный кулер с термопастой, иначе это у вас никогда не кончится.

anon_666
()
Ответ на: комментарий от anon_666

Зачем вы травите? У меня нормальный медный Залман, раз в год я его чищу и переставляю, после чистки пыли температура больше 55-ти не бывает. Обороты кулера выведены на переднюю панель, и 99% времени они _минимальны_. Когда мне надо поиграться или посчитать что-то, то я поднимаю обороты, но иногда меня дома нет, и поднять обороты некому.

Опять же, если есть хотя бы _теоретическая_ возможность зависа, то лучше от неё избавиться. И с криоохлаждением я буду чувствовать себя неуютно, если буду знать об этой нестабильности в поведении.

По делу вам есть что сказать?

Повторю вопрос:

Вопрос: как переконфигурить демон, чтобы он смотрел на sensors, а не acpi?

Vshmuk
() автор топика
Ответ на: комментарий от Nao

Спасибо, почитаю. Если такая возможность есть, то хорошо

Vshmuk
() автор топика
Ответ на: комментарий от megabaks

или поставь уже нормальный пассивный кулер - с ним перегреть проц оооочень мало вероятно

megabaks ★★★★
()
Ответ на: комментарий от megabaks

> а мать не умеет рулить проц-кулером? о_О

Умеет, но я не пользуюсь материнским ШИМом, ибо согласен на небольшой перегрев в обмен на тишину. Поэтому вручную ставлю минимальные обороты на панельке. А так называемый режим throttling моим процом не поддерживается, да.

Vshmuk
() автор топика
Ответ на: комментарий от x905

Не уверен, не пробовал. Но он всё равно не меняет частоту :)

Vshmuk
() автор топика
Ответ на: cat /proc/cpuinfo плиз от kraftello
cat /proc/cpuinfo
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 47
model name : AMD Athlon(tm) 64 Processor 3500+
stepping : 2
cpu MHz : 2200.000
cache size : 512 KB
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up rep_good pni lahf_lm
bogomips : 4422.03
TLB size : 1024 4K pages
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc

Оndemand не защищает проц в случае перегрева

Vshmuk
() автор топика
Ответ на: комментарий от Vshmuk

> в обмен на тишину

Выкидывай кулер, ставь нормальный, который бы не шумел на средних оборотах.

Suigintou ★★★★★
()

Вот что накопал

cpufreq-nforce2 — изменение частоты средствами чипсета nVidia (изменение FSB независимо от частоты PCI/AGP) Должно быть в модулях ядра.

kraftello ★★★★★
()

serg cat /usr/src/linux-2.6.33.2/Documentation/cpu-freq/cpufreq-nforce2.txt

The module has two options:

   fid:     multiplier * 10 (for example 8.5 = 85)    min_fsb: minimum FSB

If not set, fid is calculated from the current CPU speed and the FSB. min_fsb defaults to FSB at boot time - 50 MHz.

IMPORTANT: The available range is limited downwards! Also the minimum available FSB can differ, for systems booting with 200 MHz, 150 should always work.

kraftello ★★★★★
()
Ответ на: Вот что накопал от kraftello

О!

Вот этот вариант был бы хороший!

Но у меня нет этого модуля:

diver@dDiver:~$ sudo modprobe cpufreq_
cpufreq_conservative  cpufreq_powersave     cpufreq_stats         cpufreq_userspace     
diver@dDiver:~$ lsmod | grep cpufreq
cpufreq_powersave        902  0 
cpufreq_stats           2659  0 
cpufreq_userspace       1960  0 
cpufreq_conservative     5162  0 

В любом случае, спасибо за совет, попробую ещё порыться в cpufreqd.conf

Vshmuk
() автор топика
Ответ на: Странно от kraftello

Сишники есть, модуля нет :) Хотя ладно, всё равно у меня nforce4, они могут быть и несовместимы

Vshmuk
() автор топика
Ответ на: комментарий от Vshmuk

Пока гуглил

Находил в поддержке этого модуля списки чипсетов и мат плат на nforce3 и 4. Это его переименовывать не стали.

kraftello ★★★★★
()
Ответ на: комментарий от Vshmuk

ACPI всегда показывает 40 градусов

Попробуй watch -n1 «cat /sys/class/thermal/thermal_zone0/temp»

Сенсоры же откуда-то считывают температуру. Ещё можно посмотреть на конф файлы lm-sensors, наверняка там есть установка критической температуры и соответственно где-то должна появиться сообщение о достижении таковой, которую можно грепнуть для скрипта. Можно демона сделать который будет отслеживать появление такого сообщения и давать команду cpufreq или powernowd на понижение частоты процессора. У меня сейчас убитая батарея на ноуте в качестве ИБП(нормальная для мобильного пользования). Чтобы при неполадках питания ноут ненавязчиво мне бухтел об этом, я в коньки закинул ${execi 60 cat /proc/acpi/battery/C15E/state | grep discharging | espeak}

Главное найти, откуда данные считываются, а дальше дело техники.

kraftello ★★★★★
()
Ответ на: комментарий от Vshmuk

Давным-давно

gkrellm был, там, помнится, можно было команды писать на события.

kraftello ★★★★★
()
Ответ на: комментарий от Vshmuk

cpufreqd

Встретил этот модуль на форуме /usr/lib/cpufreqd_nforce2.so Значит, будет работать cpufreqd.conf

http://bbs.archlinux.org/viewtopic.php?id=50215

У меня powernowd, посему проверить не могу. По уму пересобрать ядро с cpufreq-nforce2 или готовое ядро поискать. Если деб система то попробовать сидукс или ликворикс ядро.

kraftello ★★★★★
()
Ответ на: cpufreqd от kraftello

>/usr/lib/cpufreqd_nforce2.so

Да не модуль ядра это.

anon_666
()
Ответ на: cpufreqd от kraftello

Да, .so и .ko - это разные вещи. Модуль - ko (kernel object), либа - so (shared object (dll))

Vshmuk
() автор топика
Ответ на: комментарий от Vshmuk

Можете собрать этот модуль без пересборки ядра:
Создайте в директории с cpufreq-nforce2.c Makefile следующего содержания:
obj-m := cpufreq-nforce2.o
И соберите командой:
make -C /usr/src/linux-`uname -r`/ M=`pwd` modules

anon_666
()
Ответ на: комментарий от anon_666

Спасибо, я уж как-нить с lm-sensors. Чего лишнее городить? :)

Vshmuk
() автор топика
Ответ на: Вот готовый скрипт от kraftello

Этот скрипт берёт температуру из ACPI, который, как я уже не раз говорил, на моей материнке глючит.

У меня данные считываются через lm-sensors, но донастроить конфиг пока руки не доходят

Vshmuk
() автор топика
Ответ на: комментарий от Vshmuk

У меня данные считываются через lm-sensors

Потому и спросил: Нашёл, откуда данные считываются? А поправить скрипт - минутное дело.

kraftello ★★★★★
()
Ответ на: У меня данные считываются через lm-sensors от kraftello

Этого я и не искал. Сенсоры у меня схватились сами мгновенно:

sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:       +40.0В°C  (crit = +75.0В°C)                  

atk0110-acpi-0
Adapter: ACPI interface
Vcore Voltage:     +1.10 V  (min =  +1.45 V, max =  +1.75 V)
 +3.3 Voltage:     +3.31 V  (min =  +3.00 V, max =  +3.60 V)
 +5.0 Voltage:     +4.92 V  (min =  +4.50 V, max =  +5.50 V)
+12.0 Voltage:    +11.90 V  (min = +11.20 V, max = +13.20 V)
CPU FAN Speed:    1339 RPM  (min =    0 RPM)
CHASSIS FAN Speed:   0 RPM  (min =    0 RPM)
CHIPSET FAN Speed:3013 RPM  (min =    0 RPM)
CPU Temperature:   +40.0В°C  (high = +90.0В°C, crit = +125.0В°C)  
MB Temperature:    +42.0В°C  (high = +70.0В°C, crit = +125.0В°C)  

k8temp-pci-00c3
Adapter: PCI adapter
Core0 Temp:  +37.0В°C                            

Vshmuk
() автор топика
Ответ на: комментарий от Vshmuk

Нашёл, откуда данные считываются?

atk0110-acpi

acpitz-virtual-0

ну и что тут не понятно? )
вот не из acpi

desktop megabaks # sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +53°C  (high =  +100°C)                   

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +53°C  (high =  +100°C)                   

w83627ehf-isa-0290
Adapter: ISA adapter
VCore:     +1.19 V  (min =  +0.00 V, max =  +1.74 V) 
in1:       +7.92 V  (min = +13.46 V, max = +10.08 V) ALARM
AVCC:      +3.34 V  (min =  +4.08 V, max =  +4.08 V) ALARM
3VCC:      +3.34 V  (min =  +1.97 V, max =  +4.02 V) 
in4:       +1.70 V  (min =  +2.02 V, max =  +2.04 V) ALARM
in5:       +1.70 V  (min =  +2.04 V, max =  +2.04 V) ALARM
in6:       +5.89 V  (min =  +6.53 V, max =  +6.53 V) ALARM
VSB:       +3.34 V  (min =  +4.08 V, max =  +4.08 V) ALARM
VBAT:      +3.26 V  (min =  +3.92 V, max =  +3.06 V) ALARM
in9:       +1.66 V  (min =  +1.02 V, max =  +2.01 V) 
Case Fan: 1028 RPM  (min =  664 RPM, div = 8)
CPU Fan:  1095 RPM  (min =  694 RPM, div = 8)
Aux Fan:     0 RPM  (min =    0 RPM, div = 128)
fan5:        0 RPM  (min =    0 RPM, div = 128)
Sys Temp:    +48°C  (high =  -101°C, hyst =    -1°C)  [thermistor] ALARM
CPU Temp:  +49.5°C  (high = +80.0°C, hyst = +75.0°C)  [thermistor]
AUX Temp:  +46.5°C  (high = +80.0°C, hyst = +75.0°C)  [thermistor]
vid:      +0.000 V

megabaks ★★★★
()
Ответ на: комментарий от megabaks

Так сорок же градусов же! Глючит acpi же! В этом и была проблема же!

Vshmuk
() автор топика
Ответ на: комментарий от Vshmuk

Core0 Temp: +37.0°С
С учетом того, что на борту 42.0

У меня 3 версии:

1. какая-то из цифр не верна

2. используется какое-то хитрое охлаждение (не воздушка).

3. не работает 2 начало термодинамики.

Pterodaktil
()
Ответ на: комментарий от Vshmuk

Core0 Temp: +37.0В°C

А это значение верное? Тогда скрипт можно модифицировать и сделать вывод данных sensors через sed и awk.

kraftello ★★★★★
()
Ответ на: комментарий от Vshmuk

sensors-detect делали?

Делал. Давно это было, ещё на дебиане. Но у меня всё средствами системы детектится и выводится в коньки. Ноут hp510.

kraftello ★★★★★
()
Ответ на: комментарий от megabaks

Лентяй он всё-таки

Я бы не успокоился (мне бы нерешённая проблема , как горчичник мешала) перерыл бы все тырнеты и учебники по bash, sed и awk. Хотя не технарь. Поставил себе. lm-sensors: Sorry, no sensors were detected. This is relatively common on laptops, where thermal management is handled by ACPI rather than the OS.

kraftello ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.