How to keep your cpu cool and your fan quiet

How to do things, solutions, recipes, tutorials
Message
Author
jakfish
Posts: 762
Joined: Fri 18 Jul 2008, 19:09

#46 Post by jakfish »

Nice post, dawnsboy. An addendum to your good information is that even if scaling DID work with the eee 700/900, it's debatable how productive scaling is with this particular line of netbooks.

When the cpu speed is forced below the 630mHZ level, eee CPU usage increases substantially, and in the world of irony, such a usage increase could generate worse battery life than a cpu set at normal speed, not to mention the drop-off in performance (though w/ scaling, the CPU speed would increase if needed, but perhaps with a lag in initial response).

Your post should help eee users who are wondering what's what.

Jake

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#47 Post by 01micko »

Hmmm....

I'd better look into this further...

Thanks dawnsboy, jakfish
Puppy Linux Blog - contact me for access

dawnsboy

#48 Post by dawnsboy »

Jakfish said:
An addendum to your good information is that even if scaling DID work with the eee 700/900, it's debatable how productive scaling is with this particular line of netbooks.

When the cpu speed is forced below the 630mHZ level, eee CPU usage increases substantially, and in the world of irony, such a usage increase could generate worse battery life than a cpu set at normal speed, not to mention the drop-off in performance (though w/ scaling, the CPU speed would increase if needed, but perhaps with a lag in initial response).
@jakfish

Most of this information came to my attention as I was studying the matter during that period of time that I created the gui for various versions of the pupeeecontrol.pet package that tied together the command line functions made available by tempestuous' driver and dougal's fan scripts. It took some time to track down and absorb that info but I began sharing it on various threads related to the subject.

At the time that I wrote the initial gui for pupeeecontrol you and eeeuser forum member weganwarrior did some extensive testing of the overclocking and underclocking abilities of the Intel Celeron M processor using the scripts that wound up in pupeeecontrol. I think you did a pretty good job of proving that underclocking on this line of netbooks is fruitless.

However overclocking to 100MHz FSB to produce 900MHz processor speed can be done effectively using the EEE module supplied by tempestuous. The fan scripts should also work once the kinks are ironed out. Certainly clicking a button to drop fan speed to 40% does work. So if one is at the cafe using the hotspot dropping to the default 630MHz and 40% fan speed should be the most effective way available to reduce battery consumption (other than dimming the backlight, etc).

@01micko

If you are running a 701SD with Intel Celeron 900MHz and 400MHz FSB then you have hardware that is an exception to this in the sense that the scripts used in eeecontrol assume a default 70MHz with the target of increasing that speed incrementally to 100MHz FSB. In regard to speed stepping and information in my last post I must assume that the information applies to your netbook as well because it does have the Intel Celeron 900MHz processor.

User avatar
steel_j
Posts: 4
Joined: Sat 08 Nov 2008, 00:25
Location: Montreal, Canada

Found a solution

#49 Post by steel_j »

I have a HP Pavilion ZE500 Series laptop with a P4 2.66ghz.

With Puppy 4.1 the frequency scaling worked flawlessly between 1.6ghz and 2.66ghz.

Now with Puppy 4.30 I experienced the problems described above in this thread. i.e Frequency governor remained stuck at PERFORMANCE.

I had used the new CPU Frequency Scaling Tool in the Setup Menu and the only thing that worked is when I selected P4-Clockmod. The Acpi-cpufreq module would not load and said it was incompatible.

Weird to me because that was the module I used on Puppy 4.1???

Anyways to make a long story short here is how I solved the problem:

As with the first post of this thread I went and added these lines to my /etc/rc.d/rc.local:

Code: Select all

# cpu frequency-scaling (to save energy and to keep the system cool)
# step 1: load cpu driver, setup cpufreq system
modprobe speedstep-lib      # library
modprobe acpi-cpufreq      # generic
# step 2: load driver(s) for frequency-scaling mode(s)
modprobe cpufreq_ondemand   # ondemand mode
#modprobe cpufreq_powersave   # powersave mode
#modprobe cpufreq_conservative   # conservative mode
#modprobe cpufreq_userspace   # userspace mode
# step 3: min/max fine-tuning; launch ondemand frequency-scaling mode
# replace [min] resp. [max] with numeric values from available frequencies
#echo [min] > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
#echo [max] > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Pay attention to the uncommented portions. I loaded the speedstep-lib and the acpi-cpufreq modules, then the frequency sclaing (ondemand) and a the end I launched it:

Here is a fat trimmed version of the 3 essential lines in this:

Code: Select all

# step 1: load cpu driver, setup cpufreq system
modprobe speedstep-lib      # library
modprobe acpi-cpufreq      # generic
# step 2: load driver(s) for frequency-scaling mode(s)
modprobe cpufreq_ondemand   # ondemand mode
# step 3: min/max fine-tuning; launch ondemand frequency-scaling mode
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
Do not use the Min-max settings with acpi-cpufreq module. It is detected automatically.

Don't use the new CPU Frequency Scaling Tool, and if you did, make sure you delete the file called: start_cpu_freq in /root/startup.

Reboot...

Now eveything works.

User avatar
trio
Posts: 2076
Joined: Sun 21 Dec 2008, 15:50
Location: अनà¥￾मोदना

#50 Post by trio »

Steel_l

You must be using an existing pupsave from another computer to a new computer. If that's the case, you are right, you have to empty (not delete) /root/startup/start_cpu_freq and reboot. Then you can use the cpu freq scaling tool

User avatar
steel_j
Posts: 4
Joined: Sat 08 Nov 2008, 00:25
Location: Montreal, Canada

Sorry but no...

#51 Post by steel_j »

This is a brand new install of Puppy 4.31 iso, ful install on laptop hard drive.

I had to delete start_cpu_freq file from my autostart folder because I had tried to use it and failed before.

The new tool would only let me use p4-clockmod, saying acpi-cpufreq module was incompatible, when I knew perfectly well it was not having used it before many times with success.

So the only way I got this to work was to use the method I posted. The tool does not work for me on my Pavilion.

P4-clockmod works, but for me it is nowhere near as good as the acpi module. Clockmod only lowered my cpu frequency when I unplugged my AC cord an used the battery. Otherwise it would stay on performance and the temp would stay up, fan blowing perpetually.

Now the scaling works A+, temps are 20 degrees lower, fan is barely audible and I can see my frequency going up and down in the console as I use the system.

Michalis
Posts: 237
Joined: Tue 08 Jan 2008, 14:50
Location: Greece

#52 Post by Michalis »

I can't use any governor except of the performance.

In the beginning I tried to set the on demand governor in puppy-431-small but there were no governors. So now I boot puppy-431 and there are the governors but I can't load any of them. Every time I try I get the following:

# modprobe cpufreq_ondemand
FATAL: Module cpufreq_ondemand not found.

Of course I've tested it for every governor and the modules are present.

I check also for the available governors and always I get:

#cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
performance


Of course before of all of that I modprobe powernow-k8. My cpu is an Athlon x4. For the time being the only thing I can do is to set the max frequency to a lower value. I've set cpu0 to 1.4GHz, and the rest cpu1, cpu2, cpu3 to 800Mhz.

Any idea of what can be wrong? Is it possible that the governors are not compatible with powernow?

Of topic: puppy-431 isn't supposed to be smp enable? In my case all of the processes run in cpu0. Is there a way to move a process to another core?

Michalis
Posts: 237
Joined: Tue 08 Jan 2008, 14:50
Location: Greece

#53 Post by Michalis »

Nobody has any idea? :(

I searched a little more and found out that in puppy 4.1.2 the governors are working with my cpu but they see it as single thread.

Seems like the governors are not compiled against powernow-k8 or the opposite.

Probably it's another bug in 4.3.1. I'll report it at the bug section.

thejakal
Posts: 3
Joined: Sun 24 Jan 2010, 15:16

#54 Post by thejakal »

I do

Code: Select all

#cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors 
and see ondemand and performance, and

Code: Select all

# modprobe cpufreq_ondemand 
works ok. But no matter what I do, it's always in "performance" mode. If I do:

Code: Select all

echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 
It will always read "performance". Any ideas? Did I do that right? I've used the max frequency to keep performance topped out at where I want to be, but I'd like ondemand to get working.

May be a different subject, but I've got this and rovclock going, running off a LiveCD with no HD installed. I have my 2.4GHz scaled down to 600MHz, and my GPU clock and mem scaled from 250/333Mhz to 108/189, and the system still climbs up to 60* C and has to click on the fan, not as much as it did when it ran WinXP at full blast, but still more than I'd like. Any reason why these massive underclocks wouldn't do what I'd expect in terms of less heat?

User avatar
Anniekin
Posts: 246
Joined: Wed 25 Feb 2009, 00:15

#55 Post by Anniekin »

I think someone needs to provide an ondemand module that works in 431.

User avatar
Anniekin
Posts: 246
Joined: Wed 25 Feb 2009, 00:15

#56 Post by Anniekin »

bump!

if someone want to explain how to do this I will take a crack at it.

Would any of these help patch the issue:
  • cpufreqd
    cpudyn
    cpufreq-set
    cpuspeedy
    powernowd
    speedfreq
?

Peterm321
Posts: 411
Joined: Thu 29 Jan 2009, 14:09
Location: UK

#57 Post by Peterm321 »

Excellent thread.

I had wondered whether I could reduce the temperature of my machine, Dell Optiplex 1.8 Ghz P4. Although I haven't gotten a thermal report in software, process intensive applications produced a noticeable rise in the heat from the output of the processor fan.

However I tried

Code: Select all

  modprobe p4-clockmod 
then

Code: Select all

echo 900000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
Seems to have reduced my machine to the speed of a higher end P III which is all that I would want and no thermal overload worries.

thanks

User avatar
Aitch
Posts: 6518
Joined: Wed 04 Apr 2007, 15:57
Location: Chatham, Kent, UK

#58 Post by Aitch »

Michalis/Annikin, others

Suggest PMing erikson, who created the original

Aitch :)

Nooblet0218
Posts: 105
Joined: Fri 21 May 2010, 17:50

#59 Post by Nooblet0218 »

this topic is still kicking ass, works great on my 4.2.0 puppy comp!

GuyKL
Posts: 38
Joined: Thu 01 Jan 2009, 03:23

#60 Post by GuyKL »

Any easy way for me to set this software on Puppy with the same settings (voltage and frequency) as my K10stat (running on Windows Vista)?

User avatar
ninaholic
Posts: 10
Joined: Sat 19 Oct 2013, 06:46

#61 Post by ninaholic »

Thank you! I try the same 3 lines as OP in PuppyLinux4.20 Console and constant fan noise and heat is gone:

Code: Select all

modprobe speedstep-centrino
modprobe cpufreq_ondemand 
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
I have Pentium M 725 Centrino (600mhz-1600mhz). Nice and cool laptop now. Cheers :)

Post Reply