Question CPU speed stuck at 800MHz in Windows but in BIOS and Safe mode its normal

Arun05

Distinguished
Oct 20, 2013
255
7
18,815
Hi can someone help me out my CPU is stuck at 800Mhz/0.79Ghz.

CPU: 10900(NON K)
Motherboard: Gigabyte Z590 Aorus Master

Everything was fine until I updated Windows 10 tonight
Bios reset done.
Removed CMOS battery, unplugged everything and held power button for 30sec and reconnected everything still the same
Ran cinebench CPU usage, temp, power usage was too low as per hwinfo65,cpuz,coretemp and task manager.

Ran cinebench on safe mode task manger said 2.8Ghz but CPU usage on task manager was maxed out(performance tab did show full CPU usage in safe mode)
Bios did show 4600Mhz

Hwinfo64 says Yes on the following 3 options "IA: Turbo Attenuation", "IA: Electrical Design Point.Other (ICCmax,PL4,SVID,DDR Rapl)" and "Ring: Max VR Voltage, ICCmax, PL4"

Tried unchecking "BD PROCHOT" in Throttlestop but no change

Clicked on Limits option and found Core i9-10900 title in red and under Core and Ring option it says "EDP OTHER" GPU is blank
Clicked FIVR PL4 says "0" under voltage mode and offset were empty.

I am not sure how to attach screenshots here.

Please let me know if nay other details might help.
 
@Arun05

Try checking the MMIO Lock box in the ThrottleStop TPL window.

Use imgur or a similar site to host some screenshots.

Someone else had the exact same problem recently. Bad update I guess.

IccMax for the core and cache should be set to the max, 255.75.

PL4 set to a value of 0 is OK. That means the PL4 limit is not being used.
 
  • Like
Reactions: Arun05
Everything was fine until I updated Windows 10 tonight
Try a system restore, to a point prior to the update.

Motherboard: Gigabyte Z590 Aorus Master
BIOS version for your motherboard at this moment of time?
It’s F9 the latest bios version
Bios and safe mode seems to be working fine only regular windows is throttling the cpu clock and power
 
@Arun05

Try checking the MMIO Lock box in the ThrottleStop TPL window.

Use imgur or a similar site to host some screenshots.

Someone else had the exact same problem recently. Bad update I guess.

IccMax for the core and cache should be set to the max, 255.75.

PL4 set to a value of 0 is OK. That means the PL4 limit is not being used.
TPL power limit controls
Disable controls check box is checked and everything else including sync MMIO is unchecked
In Miscellaneous section everything is unchecked and the PP0 turbo Time limit slider is to the left(lowest)

Increasing the IccMax in core from 1 to 255.75 fixed the issue
Just in case I set the cache section to 255.75
System agent section IccMax says 20.00 should I change that too?

When I click on limits it still says the same EDP OTHER under core and RING but this time in yellow any idea what that represents?

Every time I restart the PC I have to change these settings is there a permanent fix?

Is there a guide that you can share me or explain me what these values are?
Any idea why this didn’t affect safe mode?
 
Last edited:
Increasing the IccMax in core from 1 to 255.75 fixed the issue
Just in case I set the cache section to 255.75
IccMax for the core and the cache should be set equally. When you set the core to 255.75, the cache should also be set to the same value.

When you first run ThrottleStop, if it does not find a previous ThrottleStop.INI configuration file, it will read default values from the CPU. If ThrottleStop initially showed that IccMax was only set to 1.00, that would cause massive EDP throttling and force the CPU to run at its slowest speed. Either the BIOS is not setting IccMax correctly or something in Windows is causing this problem. In most situations, it is usually the BIOS that is at fault.

I am not familiar with your Gigabyte motherboard. Have a look in the BIOS for IccMax and set this to 255.75. A Z590 motherboard should give you access to this setting. Some lower end motherboards might not let you adjust IccMax in the BIOS. If you make any changes in the BIOS, you need to delete the ThrottleStop.INI configuration file before running ThrottleStop. This allows ThrottleStop to read the updated IccMax values from the CPU.

System agent section IccMax says 20.00 should I change that too?
Only change things in ThrottleStop if doing so fixes a problem you are having. The default System Agent IccMax is usually 20.00 so this seems OK as is. It is the incorrectly set IccMax for the core and cache that is causing your throttling problem. If you do find IccMax in the BIOS, there might only be one value that needs to be adjusted. The core and cache are separate within the CPU but most BIOS versions automatically write the same IccMax value to both registers.

Ran Cinebench on safe mode task manger said 2.8Ghz
Most monitoring programs and stress tests may not work correctly when you are in safe mode. I would ignore any reported CPU speed when in safe mode. It is often times a meaningless number that is not accurate.

EDP OTHER under core and RING but this time in yellow
Red boxes in Limit Reasons show that throttling is in progress. Red boxes are bad. Performance is being reduced.

Yellow boxes indicate that some previous throttling has occurred. Some computers will trigger a few yellow boxes while booting up. Yellow boxes are like warnings. You can usually ignore these warnings as long as your CPU is running at its rated speed without any throttling.

is there a permanent fix?
If you can find IccMax in the BIOS, that is a permanent fix. The default IccMax value of 1.00 being written to the CPU by the BIOS is likely a bug that was accidentally created by the guy writing the BIOS code. IccMax should never be set to 1.00. Make sure you are using the latest stable BIOS version. This is a fairly common problem. Bugs like this are usually reported fairly quickly and immediately fixed with an updated BIOS.

Any idea why this didn’t affect safe mode?
Nothing works 100% correctly when in safe mode. Forget about any safe mode testing you did. You know what is causing your throttling problem and you know how to fix this problem either by adjusting IccMax in the BIOS or by using ThrottleStop.

If you have good cooling and if you want maximum performance, go into the BIOS and change the PL1 power limit value from 65 to at least 150. I have a similar 10850K which I set to 300W for both PL1 and PL2. The default 65W value that Intel suggests for PL1 will significantly reduce the maximum performance of a 10900.

Here is how I eliminate power limit throttling.

nMRaYKc.png
 
Last edited:
  • Like
Reactions: Arun05
IccMax for the core and the cache should be set equally. When you set the core to 255.75, the cache should also be set to the same value.

When you first run ThrottleStop, if it does not find a previous ThrottleStop.INI configuration file, it will read default values from the CPU. If ThrottleStop initially showed that IccMax was only set to 1.00, that would cause massive EDP throttling and force the CPU to run at its slowest speed. Either the BIOS is not setting IccMax correctly or something in Windows is causing this problem. In most situations, it is usually the BIOS that is at fault.

I am not familiar with your Gigabyte motherboard. Have a look in the BIOS for IccMax and set this to 255.75. A Z590 motherboard should give you access to this setting. Some lower end motherboards might not let you adjust IccMax in the BIOS. If you make any changes in the BIOS, you need to delete the ThrottleStop.INI configuration file before running ThrottleStop. This allows ThrottleStop to read the updated IccMax values from the CPU.


Only change things in ThrottleStop if doing so fixes a problem you are having. The default System Agent IccMax is usually 20.00 so this seems OK as is. It is the incorrectly set IccMax for the core and cache that is causing your throttling problem. If you do find IccMax in the BIOS, there might only be one value that needs to be adjusted. The core and cache are separate within the CPU but most BIOS versions automatically write the same IccMax value to both registers.


Most monitoring programs and stress tests may not work correctly when you are in safe mode. I would ignore any reported CPU speed when in safe mode. It is often times a meaningless number that is not accurate.


Red boxes in Limit Reasons show that throttling is in progress. Red boxes are bad. Performance is being reduced.

Yellow boxes indicate that some previous throttling has occurred. Some computers will trigger a few yellow boxes while booting up. Yellow boxes are like warnings. You can usually ignore these warnings as long as your CPU is running at its rated speed without any throttling.


If you can find IccMax in the BIOS, that is a permanent fix. The default IccMax value of 1.00 being written to the CPU by the BIOS is likely a bug that was accidentally created by the guy writing the BIOS code. IccMax should never be set to 1.00. Make sure you are using the latest stable BIOS version. This is a fairly common problem. Bugs like this are usually reported fairly quickly and immediately fixed with an updated BIOS.


Nothing works 100% correctly when in safe mode. Forget about any safe mode testing you did. You know what is causing your throttling problem and you know how to fix this problem either by adjusting IccMax in the BIOS or by using ThrottleStop.

If you have good cooling and if you want maximum performance, go into the BIOS and change the PL1 power limit value from 65 to at least 150. I have a similar 10850K which I set to 300W for both PL1 and PL2. The default 65W value that Intel suggests for PL1 will significantly reduce the maximum performance of a 10900.

Here is how I eliminate power limit throttling.

nMRaYKc.png
Thank you for the brief explanation!

I’m trying to find where the IccMax option is in my bios so far no luck gone through the user manual and all the menu twice I’ll keep looking I don’t have any other options right now
 
I’m trying to find where the IccMax option is in my bios
My Asus BIOS calls this setting,

CPU Core/Cache Current Limit Max.

This is a single setting. It sends the same value to both the core and the cache IccMax registers.

I just had a quick look through the manual for your motherboard. The full featured BIOS has a million and one settings but I could not find anything current related. It is possible that the IccMax setting is not available in the BIOS.

You might have to use ThrottleStop to solve this problem. It is easy enough to add ThrottleStop to your Windows startup sequence using the Task Scheduler. Here is a guide for that.


Edit - I found this in the Gigabyte Z590 Aorus Master manual.

Core Current Limit (Amps)Allows you to set a current limit for CPU Turbo mode. When the CPU current exceeds the specified currentlimit, the CPU will automatically reduce the core frequency in order to reduce the current. Auto sets thepower limit according to the CPU specifications. This item is configurable only when Turbo Power Limitsis set to Enabled. (Default: Auto)
 
Last edited:
  • Like
Reactions: Arun05
found the below in bios should this be the one?

  • Core Current Limit (Amps)
    Allows you to set a current limit for CPU Turbo mode. When the CPU current exceeds the specified current limit, the CPU will automatically reduce the core frequency in order to reduce the current. Auto sets the power limit according to the CPU specifications. This item is configurable only when Turbo Power Limits is set to Enabled. (Default: Auto)
 
I think so. Try it and find out. Delete the ThrottleStop.INI configuration file after making any BIOS changes. This lets ThrottleStop read the new value from the CPU. I set this to 255.75 to avoid throttling.
I believe that's the one I set it to 256 AMP but still no luck.
I have added ThrottleStop in task scheduler to run on startup for now until I find a permanent fix.
If you could recommend any steps please let me know
 
I believe that's the one I set it to 256 AMP
255.75 is the max. The register that holds this data is not big enough to hold the number 256. Trying to store 256 in this register is equivalent to writing 0 to this register. This might be part of the problem the BIOS has. Try using 255 instead. The person writing the BIOS might have thought 256 should be OK when it is definitely not OK.

until I find a permanent fix
ThrottleStop is the best permanent fix. Even if you figure out a way to set the IccMax current limit correctly in the BIOS, you should still run ThrottleStop. Checking the Windows Defender Boost feature in the Options window can improve performance if you are using Windows Defender.
 
  • Like
Reactions: Arun05
255.75 is the max. The register that holds this data is not big enough to hold the number 256. Trying to store 256 in this register is equivalent to writing 0 to this register. This might be part of the problem the BIOS has. Try using 255 instead. The person writing the BIOS might have thought 256 should be OK when it is definitely not OK.


ThrottleStop is the best permanent fix. Even if you figure out a way to set the IccMax current limit correctly in the BIOS, you should still run ThrottleStop. Checking the Windows Defender Boost feature in the Options window can improve performance if you are using Windows Defender.
Thank you so much after updating it to 255 everything works fine without throttle stop.
I guess when I set the Core Current Limit (Amps) to Auto in BIOS it assumes the max value 256 and updates as 0 like you said but with it manually set to 255 everything works fine.
Unfortunately I not have the option to set decimal value and input 255.75 but I am happy with this!
 
updating it to 255 everything works fine
Thanks for confirming my suspicion. Your Gigabyte board is not the only board that is screwing up this very important setting. Someone, somewhere read the docs and decided to round the maximum from 255.75 up to 256. That is not a smart thing to be doing with the IccMax current limit. I think some popular MSI control software is doing the same sort of thing when setting the power limits. Massive throttling is the result.

You can always use ThrottleStop if you want the full 255.75 but 255 should be more than enough. There should be no more EDP throttling now that IccMax is set correctly.

You should contact Gigabyte and tell them to fix this major bug in their BIOS. Good luck finding someone that will listen to you and is also smart enough to understand your complaint.
 
  • Like
Reactions: Arun05