AMD CPU Maximum Frequency suddenly limited on Windows 8.1

1

Suddenly today - I can't really pinpoint when - my CPU has become locked at a low frequency, even under load. I hadn't changed any settings in Windows 8.1 or in the BIOS, and everything appeared to be set as it needed to be. This is a desktop, and the power settings are set to maximum performance.

You can see details:

here.

The standard speed on this processor is 3.2Ghz, but it is limited to 1.34. I tested using some demanding programs I have used within the past few days and confirmed that the CPU load, temperatures, and fan speeds did not increase significantly, and performance was significantly decreased.

I've tried the amd/intelppm.sys "fix", but this appears to be only a placebo. Windows Task Manager shows that the speed is at maximum, but the behavior is as before, and Open Hardware Monitor reflects the lowered clock speed. I have also tried disabling AMD Cool n Quiet and changing the clock speed in the BIOS, without success, though I haven't had any problems before. I checked on Linux Mint installed on another partition, and /proc/cpuinfo seemed to suggest that the normal ramping up behavior of the clock speed was working, however neither the fan speed nor the temperatures increased, so I suspect it was not "real."

Summary
    Operating System            
        Windows 8.1 Pro 64-bit
    CPU
        AMD FX-8320E    28 °C
        Vishera 32nm Technology
    RAM
        16.0GB Dual-Channel DDR3 @ 933MHz (13-11-11-29)
    Motherboard
        MSI 970 GAMING (MS-7693) (CPU 1)    34 °C
    Graphics
        24M45 (1920x1080@60Hz)
        2048MB ATI AMD Radeon R9 380 Series (MSI)   41 °C
    Storage
        931GB Seagate ST1000DM003-1ER162 (SATA) 41 °C
    Audio
        AMD High Definition Audio Device

kmantel

Posted 2015-11-11T08:01:25.887

Reputation: 13

And you did not change your energy scheme settings? – Run CMD – 2015-11-11T08:30:35.797

I changed no energy/power settings until I noticed the problem. It was at Balanced before, and was probably like that since installation. It's now at Maximum Performance. – kmantel – 2015-11-11T08:52:23.367

2Windows resource monitor shows the "maximum frequency" at 100% when the cpu is "stepped" to the max. If the steps were slightly wrong in the bios, via the base clock , or divisor things, is one reason why the clock # would be low looking, with the "frequency" still at max. I would want to fire up CPU-Z program (in windows) because it is pretty reliable at seeing divisor and base and voltages and stuff you need to see.. – Psycogeek – 2015-11-11T09:21:25.083

I can't attach these to the post due to reputation: http://i.imgur.com/HRNL9h0.png (CPU-Z) http://valid.x86.fr/dz6af2 (CPU-Z submitted results). I have the BIOS settings at defaults.

– kmantel – 2015-11-11T09:33:37.853

which shows it is either idle (and stepped down because no work is being tossed to it) or stepped down because the numbers are wrong in the bios/uefi for the steps it allows? not knowing how an AMD cpu acts, that ends my helping. – Psycogeek – 2015-11-11T09:41:12.483

Can you elaborate on the second possibility? It was mostly idle at that point, but I have tried to run things that usually cause the load to increase heavily, but there was no indication that the processor sped up (i.e. no increased temps, fan speed). The BIOS settings are pretty much default, except for some stuff relating to boot. – kmantel – 2015-11-11T09:45:44.723

Did you re-enable CnQ? -- I would do a few more tests under Linux first, to rule out any HW problems; since you have Mint available. Maybe this is of any help if in doubt regarding especially Turbo Core: How to set up Linux for full AMD APU power management support: Turbo Core, Cool'n'Quiet, Dynamic Power Management? I don't think it is likely that the CPU reports higher speed but actually does not speed up.

– Run CMD – 2015-11-11T09:54:25.033

I have CnQ set to auto, as default. I will have to learn a bit about those tests, thanks. Will it be obvious if I run into a hardware failure? – kmantel – 2015-11-11T10:16:34.097

I'm simply suggesting to start Linux, check whether at least normal frequency scaling is working (Turbo Core would be step 2), and use stress --cpu or even only while true; do echo stress; done to observe the behaviour -- maybe temperatures aren't reported correclty under Linux. If the CPU freq scaling works, you may want to make sure Turbo Core is also working (need modproble msr for visualisation). If everything is OK, I'd probably cosider to repair Windows -- I'm really not too sure about the value 4 as "max" for the registry.... what if it's CPU specific; you have 8 cores... – Run CMD – 2015-11-11T10:33:06.193

http://www.anandtech.com/show/8907/msi-970-gaming-motherboard-review-undercutting-am3-at-100/2 in the 8th picture, you can see "fsb" and "ratio" for the cpu, also the nice MSI data at the top and all will allow you to diagnose the "hardware" to see if anything is wrong there. If it is not wrong low numbered odd there, then it is far less likely to be something there causing it, putting you back in software. If the hardware (instead) is adjusted wrongly, you will be cut off, reguardless of normal software (discluding any special MSI overclock adjust stuff) – Psycogeek – 2015-11-11T11:14:44.037

I appreciate the help. Some info from testing on Linux: I kicked up the fans manually, because the temps were reading about 20C on Linux (10C less than in BIOS), which are very low for me, and they weren't rising very much when running stress and this concerned me. As stress ran, CPU usage went to 100% as expected. cpufreq-aperf from the earlier stack* link showed each core running at 1.376Ghz, while /proc/cpuinfo showed each running at 3.2Ghz (idle value at 1.4). Weird! @Psycogeek I will confirm, but I think those settings match mine. Nothing seemed out of place: 3.2Ghz (16 x 200) – kmantel – 2015-11-11T11:36:28.463

Never saw that before. Just to be sure, you did a modprobe msr and checked that msr was loaded? And you see the frequency scaling in /proc/cpuinfo? Unfortunately, I'm not familiar with the FX processors. The APUs need the radeon driver to show reasonable behaviour. And if Mint follows Debian, then it may lack microcode for the radeon driver; I read that the error recovery path of radeon may be misbehaving if the microcode is missing. So I might additionally suggest to apt-get install firmware-linux-nonfree if Mint needs this; see http://unix.stackexchange.com/a/241826/79761

– Run CMD – 2015-11-11T12:13:55.707

I confirmed it was loaded and saw scaling in /proc/cpuinfo. I attempted to install the driver but can't seem to find it. I installed fglrx, but the behavior is the same. I also tested on Ubuntu, which has fglrx, and (maybe graphics only) two types of AMD drivers - one open source, and one from AMD. Also cannot find the correct radeon package for Ubuntu. Behavior is the same as Mint. I was also able to run cpupower. This shows random changes in freq. when idle, and 3.2 when stressed, despite claiming to use the acpi-cpufreq driver for analysis. I'll be back tomr., falling asleep – kmantel – 2015-11-11T13:36:22.190

The "random changes" are normal. Linux will execute a lot of things for short timespan and the cpufrq governor will accelerate a core at least a bit, then, or if no governor is in place then the CPU will still do it by itself if configured (strange enough). radeon is a standard module. To me, it looks as if your CPU behaves as expected under Linux. If you have doubts, you can tweak some settings and validate that e.g. a long loop has different execution times at different CPU clocks. But I tend to think there's something wrong with Windows. – Run CMD – 2015-11-11T14:14:02.250

Thanks, although I'm not sure that it does. Wouldn't you expect 100% actual CPU usage to cause the temperature to rise more than a few degrees? I used to idle around 30-40C, and even with stress --cpu 8 running with 100% usage shown, temps don't go above 25C. Additionally, when I turned on the computer today into Windows, the scaling appeared to work properly for about a minute, with matching temps, until it receded back to the same cap. – kmantel – 2015-11-11T23:41:23.373

It's hard to sort out the facts from here. The last information regarding temperatures under Linux was that they are not displayed correctly, which would not be unusual, depending on how you do it. But now you state that you know the temperature. If you want to be sure, you'd use some performance measurement under Linuix and compare it against published values, or similar. BTW, 25 deg C are not plausible. – Run CMD – 2015-11-12T07:40:15.803

1You're right. It took me a bit to realize that the ambient temperature is above 30C. I also stumbled on [http://www.tomshardware.com/answers/id-1636508/6300-weird-throttling.html](this post) that states the culprit is AMD Smart Protection in the BIOS. I found that this was the case, and disabling it brought the computer back to its normal behavior. But, I assume the protection is there for good reason so I reenabled it. Maybe the temperature sensors are off, and it was running much hotter than I thought? I had intended to get a better CPU cooler at some point, so I guess now is the time. – kmantel – 2015-11-12T09:33:26.650

Answers

1

It's good that you found the solution to the strange behaviour over at Tom's Hardware: FX-6300 weird throttling.

According to that discussion and your observation, your BIOS's Smart Protection is not working correctly.

You have several options.

  • Adjust the Smart Protection settings in your BIOS if possible.

  • See whether resetting all BIOS settings and configuring them from scratch does any good.

  • Try to find another BIOS version for your mainboard which supports your CPU amd fixes the problem. (It could be more recent or older.)

  • Disable Smart Protection.

I see the last option as absolutely safe. Your FX-8320E is a Piledriver just like my A10-6700 and my analysis of the A10-6700 suggests that the chip throttles down by itself based on temperature even (Test Cases 1.2 and 2.2 in conjunction with other results).

You may want to fix the root cause, though, because you said it worked before.

Run CMD

Posted 2015-11-11T08:01:25.887

Reputation: 508

Thanks for working through with me. I will look into other versions of the BIOS - the current does not allow any config for smart protection. I actually considered just leaving it off, but having a couple random shutdowns on that setting put me off until I can do some more research. – kmantel – 2015-11-12T10:31:38.003

After installing a better cooler, the throttling was gone for about two hours. Now it's back. No idea what's going on now. Edit: a few minutes later it's back unthrottled? I tried opening up something demanding during the time it seemed downclocked, but that didn't fix it. I'm not sure what I did this time. – kmantel – 2015-11-18T05:18:29.880

>

  • Get yourself some software to monitor CPU temperature accurately. I recall there are some where you can correct for wrong values. You may have values shown in BIOS as reference. Let the SW protocol the temp and analyse it. 2) "Better cooler"? Boxed coolers are always good enough, although hard to stand. Are you mounting it properly?
  • < – Run CMD – 2015-11-18T07:19:05.507

    I found one more monitor, but no others. This one at least showed me another temperature reading that I didn't see on OHWM and that reads significantly higher than my CPU. This picture shows what happens when I disable AMD Smart Protection to force the normal clocking. The max values are while running a somewhat demanding game. The "Value" column is after I opened up a side panel on my case and pointed a desk fan inside. I tried to create the same setup with AMDSP disabled, but now the CPU remains forever at the lower clock, despite temperatures of 23, 37, 39.

    – kmantel – 2015-11-18T09:10:06.823

    I'm fairly sure the cooler is mounted properly. Regardless, the temperatures with it were about 20C cooler than with the stock cooler, using the same measuring software. – kmantel – 2015-11-18T09:11:41.937