Desde que meu laptop (um Acer Aspire 5750G rodando um Gentoo Linux com um kernel não-tão-atualizado 2.6.39-r3 (um hardware wLan estranho dificulta a atualização)) tende a rodar bastante quente eu sou tentando controlar a situação, empregando o serviço cpufreqd. cpufrequtils estão presentes e ativos. acpi -t não retorna nada. No entanto, os sensores de lm estão instalados e parecem felizes:
Ulyss etc # sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +64.0 C (high = +86.0 C, crit = +100.0 C)
coretemp-isa-0002
Adapter: ISA adapter
Core 1: +64.0 C (high = +86.0 C, crit = +100.0 C)
...
sensores -u rende
Ulyss etc # sensors -u
coretemp-isa-0000
Adapter: ISA adapter
Core 0:
temp1_input: 63.000
temp1_max: 86.000
temp1_crit: 100.000
temp1_crit_alarm: 0.000
coretemp-isa-0002
Adapter: ISA adapter
Core 1:
temp1_input: 63.000
temp1_max: 86.000
temp1_crit: 100.000
temp1_crit_alarm: 0.000
...
Lendo várias fontes na net e por último não menos importante
man cpufreqd.conf
Eu criei /etc/sensors.d/cores.inf
chip "coretemp-isa-0000"
label temp1 "Core 0"
chip "coretemp-isa-0002"
label temp1 "Core 1"
...
e em /etc/cpufreqd.conf modificou o bloco geral para
[General]
pidfile=/var/run/cpufreqd.pid
poll_interval=2
verbosity=7 # Was at 4
enable_remote=1 # Was commented out
remote_group=root # Was commented out
[/General]
e ativado
[sensors_plugin]
sensors_conf=/etc/sensors.d/cores.conf
[/sensors_plugin]
e definido
[Rule]
name=CPU Too Hot
sensor=temp1:60-200
cpu_interval=50-100
profile=Performance Low
[/Rule]
Feito isso, verifiquei que todos os sensores liam mais de 60 graus C, reiniciei o cpufreqd e verifiquei
Ulyss etc # cpufreq-info -p
2001000 2001000 performance
que ainda pode estar correto devido ao possível fato de que outras regras são mais strongs (btw: Existe alguma maneira de introduzir pesos? Talvez repetindo algumas linhas na regra?).
Então, tento obter algumas informações chamando cpufreqd diretamente em seu modo mais detalhado:
cpufreqd -V7
que não produz saída mesmo quando especificando -f /etc/cpufreqd.conf também.
Eu tenho um palpite de que pode haver algum problema em falta de módulos. Por isso:
Ulyss sensors.d # lsmod
Module Size Used by
fuse 56971 1
cpufreq_ondemand 5203 0
nvidia 12290458 0
tg3 104688 0
wl 2530575 0
uvcvideo 52523 0
videodev 61049 1 uvcvideo
v4l2_compat_ioctl32 7103 1 videodev
Outro palpite pede opções do kernel
--- ACPI (Advanced Configuration and Power Interface) Support
[*] Deprecated /proc/acpi files
[ ] Deprecated power /proc/acpi directories
M ACPI 4.0 power meter
EC read/write access through /sys/kernel/debug/ec
[*] Deprecated /proc/acpi/event support
* AC Adapter
* Battery
-*- Button
-*- Video
* Fan
[*] Dock
* Processor
Processor Aggregator
* Thermal Zone
-*- NUMA support
[ ] Debug Statements
M PCI slot detection driver
-*- Container and Module Devices (EXPERIMENTAL)
M Smart Battery System
Hardware Error Device
[ ] ACPI Platform Error Interface (APEI)
[*] CPU Frequency scaling
[ ] Enable CPUfreq debugging
CPU frequency translation statistics
Default CPUFreq governor (userspace) --->
* 'performance' governor
* 'powersave' governor
-*- 'userspace' governor for userspace frequency scaling
M 'ondemand' cpufreq policy governor
* 'conservative' cpufreq governor
*** CPUFreq processor drivers ***
Processor Clocking Control interface driver
* ACPI Processor P-States driver
AMD Opteron/Athlon64 PowerNow!
Intel Enhanced SpeedStep (deprecated)
Intel Pentium 4 clock modulation
*** shared options ***
Até agora, a situação. Agora, minhas perguntas: Algum de vocês poderia esclarecer por que o cpufreq não muda para uma frequência menor? Ou, tão interessante, como eu poderia depurar o arquivo /etc/cpufreqd.conf
?