Page 1 of 1
CPU stuck at low speed
Posted: Sat Sep 11, 2010 11:00 pm
by novasource
I have an X60 Tablet with a Intel Core Duo L2400 (1.67 GHz).
I am on Windows 7 x86, and I have all available updates from Microsoft. I also have all available updates per ThinkVantage System Update.
Lately my CPU drops to 983 Mhz and seems to stay stuck there for a long time. If I insert
or remove the power cord, it'll jump back to 1.6 GHz for approx. less than a minute, then it goes back to 983 MHz. It seems to sit at 983 MHz for a long time, although it occasionally switches back to 1.6 GHz for no apparent reason.
In Lenovo's Power Manager, I have it set at
Maximum Performance and have also reset its settings using the
Restore default settings button.
I also checked Windows 7's
Power Options in the control panel. It's on
Maximum Performance.
I realize that the CPU is one of many power drains, but the battery life is good enough that I'd rather it just never drop lower than 1.6 GHz. Is there any way to prevent it from dropping?
This CPU speed observation made through the All CPU Meter at
http://addgadget.com/all_cpu_meter/.
Re: CPU stuck at low speed
Posted: Sun Sep 12, 2010 2:11 am
by dr_st
It will switch to 1.6GHz when it needs to. It's best to let it determine when it is.
Re: CPU stuck at low speed
Posted: Sun Sep 12, 2010 8:28 am
by novasource
dr_st wrote:It will switch to 1.6GHz when it needs to. It's best to let it determine when it is.
What you're talking about is the "Adaptive" CPU speed setting. I have it set to "Highest". I interpret that to mean the CPU speed should never drop.
Re: CPU stuck at low speed
Posted: Sun Sep 12, 2010 8:44 am
by dr_st
Check the settings in the BIOS, and download NHC (Notebook Hardware Control), and check the settings there too.
Re: CPU stuck at low speed
Posted: Sun Sep 12, 2010 10:46 am
by j-dawg
Recall that 983MHz is 983,000,000 cycles per second and 1.6GHz is one point six billion cycles per second. It is literally a matter of nanoseconds for the CPU to switch to the faster cycle, complete its job, and switch back. Your meter does not update often enough to register when the computer chooses to throttle up for tasks.
If you're still concerned, I would advise you to find a utility that considers what percentage of its time the CPU is spending at each speed, rather than showing instantaneous display of the CPU speed. I believe Intel's Powertop does this, but I don't know if there's a Windows version. If you're determined, I'm pretty sure you can turn throttling off in the BIOS.
That said, I agree with dr_st. Intel and Microsoft don't charge all that money to spend at Chuck-E-Cheese. A lot of work goes into determining when it makes sense to throttle up. I'd trust that maximum performance means maximum performance.
Re: CPU stuck at low speed
Posted: Sun Sep 12, 2010 4:56 pm
by novasource
j-dawg wrote:Recall that 983MHz is 983,000,000 cycles per second and 1.6GHz is one point six billion cycles per second. It is literally a matter of nanoseconds for the CPU to switch to the faster cycle, complete its job, and switch back. Your meter does not update often enough to register when the computer chooses to throttle up for tasks.
If you're still concerned, I would advise you to find a utility that considers what percentage of its time the CPU is spending at each speed, rather than showing instantaneous display of the CPU speed. I believe Intel's Powertop does this, but I don't know if there's a Windows version. If you're determined, I'm pretty sure you can turn throttling off in the BIOS.
That said, I agree with dr_st. Intel and Microsoft don't charge all that money to spend at Chuck-E-Cheese. A lot of work goes into determining when it makes sense to throttle up. I'd trust that maximum performance means maximum performance.
Thanks for the math lesson. Trust me, I get it.
I have a custom-developed C# app doing geocoding using Microsoft MapPoint's object model, geocoding 500 records at a time from a database of 2.7 million addresses. In other words, it's slamming both cores endlessly; I have enough data for this to last a couple of days (500 records take about 20 seconds). Despite this, I keep finding the CPU MHz dropping to 983.
Whatever is being used to throttle up has an unacceptable defect: is is throttling down when the CPUs are being slammed, and even when I am actively using the UI. (Right now, with the geocoding running in the background, it drops to 983 MHz while I'm typing this post.) Furthermore, it is throttling down even through the adaptive CPU speed is not selected. The CPU speed should park at 1.6 GHz.
I'm almost certain this is some kind of defect because I can always shift the CPU back to 1.6 GHz just by plugging or unplugging the power cord.
It didn't used to do this, so I'm guessing it's a problem with Lenovo's power management software. (Yes, I am on the latest version available as of now.) I'll check the other options mentioned above to see if I can disable this adaptive CPU speed problem.
Re: CPU stuck at low speed
Posted: Sun Sep 12, 2010 5:14 pm
by novasource
In the BIOS settings under Power, there is a section called Intel(R) SpeedStep technology. Under Mode for AC, it was Automatic, but I switched it to Maximum Performance.
And would you believe it, between now and when I started this post, the CPU speed dropped from 1.6 GHz to 983 Mhz. Sheesh. This is despite the geocoding app grinding the CPU in the background.
Re: CPU stuck at low speed
Posted: Mon Sep 13, 2010 1:17 am
by j-dawg
Perhaps Windows just isn't giving it the CPU time it needs. The CPU may find that when it switches to perform other tasks it simply doesn't need the extra cycles. Or maybe a glitch or limitation of the throttling code that forces the CPU to a slow speed when wither core is working on something slow. I dunno.
You can set priorities manually: close any programs that might want resources, open Task Manager, right-click on the process, and change its priority to an appropriate level. If you're not planning on using the computer for other tasks while it crunches numbers, consider setting it to Realtime; this will basically give the program whatever CPU time it wants, to the detriment of other processes clamoring for the system's attention.
Since it's just started happening recently, you might try a System Restore, if Windows even still has that feature. Surely there's some way to roll back drivers.
Apologies if I sound like I'm reciting a user's manual.
Re: CPU stuck at low speed
Posted: Mon Sep 13, 2010 7:23 am
by novasource
j-dawg wrote:You can set priorities manually: close any programs that might want resources, open Task Manager, right-click on the process, and change its priority to an appropriate level. If you're not planning on using the computer for other tasks while it crunches numbers, consider setting it to Realtime; this will basically give the program whatever CPU time it wants, to the detriment of other processes clamoring for the system's attention.
Thanks. The geocoding process has almost all the CPU it needs; I'm usually not running other processes besides those that load at boot (like virus scanner), and Task Manager shows that the geocoder is usually hogging the CPU.
The problem is the CPU is running slowly. It's like if you have two trucks. CPU priority is like access to the truck's bed, and CPU speed is like the top MPH the truck will do. Even if you have 100% of either truck's bed, the slow truck will "get there" more slowly than the fast truck.
I want my laptop to be the fast truck, and I have set it to do so. But it keeps wanting to be the slow truck despite me telling not to slow down.
I am leaning towards the buggy software theory, too. Because of the velocity of system changes in this laptop, it would be challenging to do system restore. I guess for now I'll just live with it.
Re: CPU stuck at low speed
Posted: Mon Sep 13, 2010 9:44 am
by novasource
I went back to BIOS this morning and also changed the CPU Power Management and Adaptive Thermal Management settings to try to further prevent CPU speed changes. So far, so good.
Re: CPU stuck at low speed
Posted: Sat Sep 18, 2010 10:27 am
by pgoelz
If the CPU usage is not 100%, 100% of the time, then isn't it logical to assume that something else is the bottleneck (like the hard drive) and that the CPU does not need to run continuously at full speed?
Re: CPU stuck at low speed
Posted: Sat Sep 18, 2010 11:17 am
by j-dawg
His concern isn't that the CPU isn't at 100% load, but that it's not at 1.6GHz. He wants to prevent CPU throttling.
Re: CPU stuck at low speed
Posted: Sat Sep 18, 2010 12:51 pm
by novasource
j-dawg wrote:His concern isn't that the CPU isn't at 100% load, but that it's not at 1.6GHz. He wants to prevent CPU throttling.
Correct. Plus, I was doing computationally-intensive stuff that barely touched the HDD. In the end, everything was fixed by all the BIOS changes.