Thursday, April 14, 2011

CPU Frequency scaling

I spent a few days looking at this option which allows the user to select at what frequency the CPU operates. Thereby, power savings in power consumption can be made which may be of value in prolonging battery life.
I got the idea when I noticed in the BIOS of my Dell E520 an option to activate Enhanced Intel Speedstep, so I tried it. Of course, it only works in Windows so I took a look at it in Windows XP which is the only version of Windows I use these days.
Following the instructions in the above link, I got it working in that the My Computer>Properties>General box showed the rated speed of my processor as 1.86 GHz and the actual frequency as 1.58GHz.
However, this is an awkward way to check what speed the CPU is operating at. Isn't there an applet or something similar that I can use to always see the current frequency as well as providing some control options?
Well, the only one I've come across so far is SpeedSwitchXP which seems to be no longer maintained as the last update was in 2006.
Anyway, I installed it in my Windows XP and it looks like this is what I was looking for.
It does, however, have one drawback -- it doesn't work (for me, at least).
While the My Computer>Properties box said my CPU frequency was 1.58 GHz, the SpeedSwitchXP said it was 1.86 GHz which is the design rate.
Amazingly, there doesn't seem to be any alternative to this.

Things in this context are much more complete in Linux (in Ubuntu, and variants, at least).
CPU Frequency Scaling has been included in Ubuntu for years and, until recently, a CPU Frequency Scaling Monitor was available for addition to the Gnome Panel. This allows choice of various power consumption options which determine under what circumstances CPU frequency will change.
In Ubuntu Natty (11.04) which doesn't use the Gnome Panel by default, there an update to the old Frequency Monitor called Indicator-cpufreq. This does essentially the same thing as the old monitor.

Not only that, but Conky has a variable exactly for CPU frequency, so you can include this in your onscreen output.
In Ubuntu Natty on the Dell E520, my .conkyrc includes this line
CPU Frequency: ${alignr}${freq_g} GHz
to display the CPU speed in GHz. Leaving out ther "_g", displays the frequency in MHz.

No comments:

Post a Comment