# Unwanted CPU "throttling"?

## IsmoHaa

I recently upgraded a machine, and installed Gentoo. I quickly noticed that it performed strangely whenever the CPU was under load. Even though it's an Athlon X2 6000+ (running at 3GHz) it's de facto slower than an Athlon X2 4800+ (running at 2,4GHz)

Then I noticed the temperature indicator. Idling the machine is running around 38-40 degrees C. When put under stress the temperature quickly climbs to 50 degrees, and then starts to see-saw between 45 and 50 degrees. This is also when the performance drops like a rock.

I have the "performance" CPU governor installed in the kernel (no others are even compiled), and using e.g.

```
watch grep \"cpu MHz\" /proc/cpuinfo
```

I haven't been able to notice that the frequency would ever be throttled back - yet it seems obvious that something is hampering the performance, and it's clearly temperature related. For instance, when running the "CPU Blowfish" benchmark in hardinfo, I constantly get scores of 6,00 until the CPU hits 50 degrees; after that the score (where lower == better) falls to the 12-16 range.

What other mechanisms than the CPU governor exist that could cause something like this?

And before someone tells me to get better cooling: No. A processor should easily be able to take temperatures higher than 50 degrees under load. I typically set the BIOS to warn at 70, and shut down at 75, and I've never heat-killed a processor. Whatever governor there is, it is way oversensitive. The cooling I have should also be quite adequate for a CPU in this range.

----------

## PaulBredbury

Maybe a temperature sensor is faulty  :Wink: 

There's probably a few sensors - on the CPU, and on the motherboard.

I've had this issue, in a hot climate - if the CPU thinks it's overheating, then it will throttle (mine throttled to about half-speed), and you cannot stop that. Here's what we can do:

Undervolt the CPU - first thing to try.

Clean fans, check they work, add more if possible.

Re-apply thermal paste to CPU.

Mildly underclock the CPU, to stop it from reaching critical temperature, because a mild underclock is faster than half-speed.

Edit: changed list orderLast edited by PaulBredbury on Fri Feb 07, 2014 9:07 pm; edited 1 time in total

----------

## IsmoHaa

 *Quote:*   

> There's probably a few sensors - on the CPU, and on the motherboard. 

 

I see... The one I've been looking at is lmsensors/k8temp-pci-00c3/Core0_Temp. There is another one like that for Core1.

 *Quote:*   

> I've had this issue, in a hot climate - if the CPU thinks it's overheating, then it will throttle (mine throttled to about half-speed), and you cannot stop that

 

Well that sucks; given that the climate I live in can be called a lot of things, but in January "hot" isn't one of them. Also a 50 degrees limit seems very over-protective. All of my previous processors have been able to go way over that without throttling and without frying themselves.

I'll have to test some of your tips, but I don't think that anything short of water cooling could keep this CPU under 50 degrees when under stress...  :Sad: 

----------

## Anon-E-moose

Unfortunately those particular processors run  hot. 

I've used amd for years, and those x2's made nice space heaters  :Laughing: 

You can turn the governor off, and just keep an eye on the temps yourself.

I've got conky set up to monitor and display cpu and HD temps as well as cpu fan rpms.

If the motherboard has cool'n'quiet and spread spectrum those can affect cpu throttling

On all my systems, I turn those off and also set fans to run 100%.

though the above may make the cpu run a little hotter all the time

Good luck

Edit to add: running 50-60 full out is not too hot of a temp (for that cpu, I believe 62 is factory recommended max), 

so not sure why the governor would be cutting back in the 50 range.

----------

## IsmoHaa

 *Quote:*   

> You can turn the governor off, and just keep an eye on the temps yourself. 

 

How do I do that exactly? I thought the performance governor would always run the CPU at full speed, temperatures be damned?

 *Quote:*   

> If the motherboard has cool'n'quiet and spread spectrum those can affect cpu throttling 

 

In considered that possibility, so I turned them off, but it doesn't seem to have any effect. (I regulate the fan speed manually with a knob in the front panel anyway.)

 *Quote:*   

> not sure why the governor would be cutting back in the 50 range.

 

This is the real mystery to me as well. Oh... and undervolting / underclocking failed. The motherboard doesn't support CPU voltage changes, or FSBs lower than 200 (Of course it's running at a multiplier-locked 15 X 200 == 3000).   :Sad: 

----------

## Anon-E-moose

I don't have any governor on my system, neither the hooks turned on in the kernel nor running any application.

I'll have to look it up, as I've forgotten what they are.

I've had motherboards that wouldn't allow me to change FSB, 

but almost all of them should allow you to downgrade the multiplier

(most won't allow more than 15, in your case, but you should be able to set it to 14.5 or 14).

They are typically only locked at the upper limit of the the cpu, not the down.

Edit to add: The FLAG that sets it in the kernel is CONFIG_CPU_FREQ

On my system, as I didn't want it I have it unset.

 *Quote:*   

> # CONFIG_CPU_FREQ is not set

 

I suppose you could blacklist the modules, if you even have it set. But I'm unsure about that.

Edit to add 2: See https://wiki.archlinux.org/index.php/CPU_Frequency_Scaling for a discussion on cpu throttling

----------

## PaulBredbury

 *IsmoHaa wrote:*   

> The motherboard doesn't support

 

Try PHC.

----------

## IsmoHaa

I will try these tips. Thank you.

----------

