notebook cpu throttling

Ian Smith smithi at nimnet.asn.au
Tue May 22 14:08:48 UTC 2007


On Tue, 22 May 2007 00:56:08 +0300 Ghirai <ghirai at ghirai.com> wrote:
 > Hello Roland,
 > 
 > Monday, May 21, 2007, 11:08:13 PM, you wrote:
 > 
 > > On Mon, May 21, 2007 at 09:52:22PM +0300, Ghirai wrote:
 > >> Hello list,
 > >> 
 > >> I'm running 6.2-RELEASE, SMP, on a
 > >> Fujitsu-Siemens Amilo Pro v3205 (Core Duo).
 > >> 
 > >> Everything works fine, except the cpu throttling,
 > >> which makes the fan start quite often.
 > >> 
 > >> Is there any way to fix this?
 > 
 > > You need to do three things (as root);
 > 
 > > 1) Load the cpufreq module 'kldload cpufreq'.
 > > 2) Put 'powerd_enable="YES"' in your /etc/rc.conf
 > > 2) Start powerd: '/etc/rc.d/powerd start'
 > 
 > > Roland
 > 
 > Thanks for the hint.
 > 
 > I did that, but now xorg constantly uses 20-30% CPU.
 > 
 > CPUs were running cooler indeed, but everything ran jerky,
 > because of the xorg cpu usage.
 > 
 > Note that i haven't upgraded to 7.2 yet,
 > but i don't think this is the problem.

This might not really indicate any problem.  Firstly, what are your
# sysctl dev.cpu.0.freq_levels

Try watching the current cpu speed (dev.cpu.0.freq) while running under
powerd.  You can watch it shift under various loads by running 'powerd
-v' in foreground, show it by running a script sleeping for eg a minute,
or use (say) gkrellm with gkfreq plugin to display cpu speed constantly.

Point being, if powerd has selected your lowest cpu frequency because
load is less than default (or as specified by -i and -r switches) and
this is (say) 1/4 of full speed, then something that normally showed 5%
cpu will now show as using 20% (of available cpu cycles at that speed) 

You can tune your powerd idle levels more towards performance, and/or
you can set a higher minimum cpu freq with sysctl debug.cpufreq.lowest
from among your available levels.

powerd's default shiftpoints work on my T23, but it's only a 2-speed :)

Cheers, Ian



More information about the freebsd-questions mailing list