[SOLVED] Ryzen 3900X undervolt suggestions

severe_009

Distinguished
Jan 2, 2010
37
2
18,535
Hi, I just recently purchase/built a PC with Ryzen 3900X with stock cooler (wraith prism) for 3D rendering. On hindsight I should have bought an AIO cooler with it because I live on a hot country and idle temperature runs at 50-65c (fluctuating) and under full load it reaches max 95c in just a few seconds in full load and throttles down from 4.3 to 3.9 GHz.

So I decided to undervolt it using AsRock A-Tuning while waiting for my cooler to 1.0V and 3.6Ghz. Now it runs idle at 45-50c stable temperature and at full load at 60-65c.

Im quite happy with the result, if have any suggestions to improve my undervolt please let me know.

BTW while monitoring clock speed MSI afterburner reads at a flat 3.6 Ghz while Ryzen masters displays a more realistic readout (sleep and low clock speed) during idle.

And what would be the ideal max temperature under full load? So i can increase voltage/clock speed a bit more.

My build:

Asrock Taichi X570
Ryzen 3900x
RTX 2080 Super Zotac Triple fan
32GB Klevv Bolt 3200mhz XMP2.0
NZXT H510 Elite w/ 4xAER RGB 2
 
Solution
UPDATE 2:

Did some quick real world test using 3ds Max and Vray, in terms of render speed they're more or less the same, but the stock settings have higher average core voltage of 1.4V compared to to manual undervolt of 1.15V. Which makes me think undervolting is better?
3dsMax and VRay sound like a pretty heavy processing load that will heat up the CPU cores. But for light bursty processing, when the CPU's not really heating up at all, is when the processor needs to be able ot use higher voltages. Limiting it to a lower voltage won't let it perform well in those kinds of processing loads.

I'd also test it with a light processing performance test. PCMark10 is a good one also Cinebench single thread test. BTW...games are...
Hi, I just recently purchase/built a PC with Ryzen 3900X with stock cooler (wraith prism) for 3D rendering. On hindsight I should have bought an AIO cooler with it because I live on a hot country and idle temperature runs at 50-65c (fluctuating) and under full load it reaches max 95c in just a few seconds in full load and throttles down from 4.3 to 3.9 GHz.

So I decided to undervolt it using AsRock A-Tuning while waiting for my cooler to 1.0V and 3.6Ghz. Now it runs idle at 45-50c stable temperature and at full load at 60-65c.

Im quite happy with the result, if have any suggestions to improve my undervolt please let me know.

BTW while monitoring clock speed MSI afterburner reads at a flat 3.6 Ghz while Ryzen masters displays a more realistic readout (sleep and low clock speed) during idle.

And what would be the ideal max temperature under full load? So i can increase voltage/clock speed a bit more.

My build:

Asrock Taichi X570
Ryzen 3900x
RTX 2080 Super Zotac Triple fan
32GB Klevv Bolt 3200mhz XMP2.0
NZXT H510 Elite w/ 4xAER RGB 2
If your ambient is as hot as you're suggesting undervolting may be your best solution until you can get more cooling. Asking for 'ideal' temperature is misleading as that answer is 'as low as possible'. The lower the temperature, the higher the clock speed it will use. But optimum AVERAGE temperature is in the mid to upper 80's for extreme sustained loads and mid to low 70's for moderately heavy loads. But those are averages and not the short duration spiking temps you see when it boosts.

The absolute maximum temperature you want your processor to see is 95C or Tjmax. If it hits that it will force-throttle to save itself; you don't want to be bouncing off Tjmax. So really, anything below Tjmax is 'safe' but it will lower clock speed the higher the temperature gets.

Do keep in mind that undervolting limits performance as it keeps the processor from running at high clocks even though it may say it is. Also undervolt by using offsets and not a fixed voltage. Offset leaves the processor's boosting algorithm in control to lower it even more and protect the processor as it gets hot.
 
Last edited:

severe_009

Distinguished
Jan 2, 2010
37
2
18,535
If your ambient is as hot as you're suggesting undervolting may be your best solution until you can get more cooling. Asking for 'ideal' temperature is misleading as that answer is 'as low as possible'. The lower the temperature, the higher the clock speed it will use. But optimum AVERAGE temperature is in the mid to upper 80's for extreme sustained loads and mid to low 70's for moderately heavy loads. But those are averages and not the short duration spiking temps you see when it boosts.

The absolute maximum temperature you want your processor to see is 95C or Tjmax. If it hits that it will force-throttle to save itself; you don't want to be bouncing off Tjmax. So really, anything below Tjmax is 'safe' but it will lower clock speed the higher the temperature gets.

Do keep in mind that undervolting limits performance as it keeps the processor from running at high clocks even though it may say it is. Also undervolt by using offsets and not a fixed voltage. Offset leaves the processor's boosting algorithm in control to lower it even more and protect the processor as it gets hot.


I see Ill try to keep my temperature with in the lower 80C under full load.

Thanks for the suggestions, I have set my voltage to 1.25V with an offset of -0.100V and set CPU frequency to 3.8Ghz.

As you can see on MSI afterburner the clock speed is stuck at 3.8Ghz but Ryzen master states otherwise. And on Ryzen master peak voltage is set at 1.25V but average voltage plays depends on the load. Right now on idle is sits around at 0 .65V.

Not sure if the readings are correct or im undervolting correctly or everything is working as intended?

2kvBJfl.png
 
I see Ill try to keep my temperature with in the lower 80C under full load.

Thanks for the suggestions, I have set my voltage to 1.25V with an offset of -0.100V and set CPU frequency to 3.8Ghz.

As you can see on MSI afterburner the clock speed is stuck at 3.8Ghz but Ryzen master states otherwise. And on Ryzen master peak voltage is set at 1.25V but average voltage plays depends on the load. Right now on idle is sits around at 0 .65V.

Not sure if the readings are correct or im undervolting correctly or everything is working as intended?

2kvBJfl.png
I'd trust RyzenMaster before Afterburner as AB is really only reliable for GPU monitoring.

RM is probably reporting the max boost clocks it's getting with the undervolt. By using an offset adjustment it will be able to boost only as high as that allows. Ryzen boosts single cores on light, bursty loads that have really little energy and don't add a lot to overall temperature. If the load sustains, temperature will rise so it will lower the boost clock and voltage to keep temperature in check. If you've artifically lowered the voltage with an offset, it won't actually boost as high and will lower it more than actually needed so temperature should be lower too.

There is another setting you can make besides voltage offsets. In the PBO section of BIOS you can set a maximum temperature and it will pull clocks and voltage to stay below that. You'd change PBO to AUTO which will expose the settings but they should be all set the same as when DISABLED. Then set Platform Thermal Limit to your desired max temp which would probably be something in the 82-85C range. I'd suggest then changing Voltage Offset back to AUTO so the CPU can perform up to spec so long as it doesn't not exceed the thermal limit you established.

The temperature RM reports is also the one you want to watch for this: it's an average that more accurately reflects the true thermal state of the processor.
 
Last edited:

severe_009

Distinguished
Jan 2, 2010
37
2
18,535
I'd trust RyzenMaster before Afterburner as AB is really only reliable for GPU monitoring.

RM is probably reporting the max boost clocks it's getting with the undervolt. By using an offset adjustment it will be able to boost only as high as that allows. Ryzen boosts single cores on light, bursty loads that have really little energy and don't add a lot to overall temperature. If the load sustains, temperature will rise so it will lower the boost clock and voltage to keep temperature in check. If you've artifically lowered the voltage with an offset, it won't actually boost as high and will lower it more than actually needed so temperature should be lower too.

There is another setting you can make besides voltage offsets. In the PBO section of BIOS you can set a maximum temperature and it will pull clocks and voltage to stay below that. You'd change PBO to AUTO which will expose the settings but they should be all set the same as when DISABLED. Then set Platform Thermal Limit to your desired max temp which would probably be something in the 82-85C range. I'd suggest then changing Voltage Offset back to AUTO so the CPU can perform up to spec so long as it doesn't not exceed the thermal limit you established.

The temperature RM reports is also the one you want to watch for this: it's an average that more accurately reflects the true thermal state of the processor.

I see , so the offset is working if I understand you correctly? Cause right now temperature is now spiking again similar to stock settings.

Limiting the temperature is a suitable control parameter with my current goal. Where can i find this? I assume its in RM but cant seem to find it?

IuMvoYc.png
 
I see , so the offset is working if I understand you correctly? Cause right now temperature is now spiking again similar to stock settings.

Limiting the temperature is a suitable control parameter with my current goal. Where can i find this? I assume its in RM but cant seem to find it?

IuMvoYc.png
Temperature spiking is normal in light loads. You have to ignore the spikes, the best way is to look at average temperature.

I don't believe you can set the platform thermal limit in RyzenMaster. It's a BIOS setting so you'll have to go into your BIOS to set that. Usually found in something like Advanced CPU Configuration, then set PBO to Automatic which exposes the PBO settings but all are set to the same as when disabled at this point. Just find the Platform Thermal Limit and type in the temperature you'd like to be your limit. Leave everything else alone unless you want to experiment.

Be sure to also return VCore Voltage to AUTO.
 

severe_009

Distinguished
Jan 2, 2010
37
2
18,535
Temperature spiking is normal in light loads. You have to ignore the spikes, the best way is to look at average temperature.

I don't believe you can set the platform thermal limit in RyzenMaster. It's a BIOS setting so you'll have to go into your BIOS to set that. Usually found in something like Advanced CPU Configuration, then set PBO to Automatic which exposes the PBO settings but all are set to the same as when disabled at this point. Just find the Platform Thermal Limit and type in the temperature you'd like to be your limit. Leave everything else alone unless you want to experiment.

Be sure to also return VCore Voltage to AUTO.

I've checked the BIOS and can't seem to find the thermal limit settings, maybe the board doesn't support it? Regardless for the mean time have set my voltage to 1.25V with offset of -0.100 at 3.9Ghz, and under full load max thermal is at around 71c. Kinda ok with my current setup until i get my hands on a decent cooler. Thanks for the info and assistance.

BTW just realized, Im at 3.9 Ghz at 71C with undervolt but stock settings get me the same 3.9Ghz (throttled) but 95C under load... interesting.
 
Last edited:
I've checked the BIOS and can't seem to find the thermal limit settings, maybe the board doesn't support it? Regardless for the mean time have set my voltage to 1.25V with offset of -0.100 at 3.9Ghz, and under full load max thermal is at around 71c. Kinda ok with my current setup until i get my hands on a decent cooler. Thanks for the info and assistance.

BTW just realized, Im at 3.9 Ghz at 71C with undervolt but stock settings get me the same 3.9Ghz (throttled) but 95C under load... interesting.
Do you have the latest BIOS for your motherboard? It's recommended to be running one with AGESA 1004b? That may be related. But then it is annoying how some mfr's put settings in different areas and call it something different. Makes it hard unless we have the exact same board and BIOS.

But I think what's happening is with the under-volt you're getting something called 'clock compression'. The effect is it's reporting the clock speed but it's not really performing at the level it's reporting. Actual performance, as measured with a benchmark like Cinebench 20, would also be lower along with the temperature. When Ryzen 3000 first came out one or two reviewers did the same thing: undervolted, saw the clock speed didn't change but temperature dropped and they went silly on their youtube channels over it until they did actual benchmark comparisons.

Your situation is different though, you're just trying to control temperature in your hot ambient climate until getting better cooling. So a little loss in performance is acceptable for now.
 
I honeslty didn't read every single post in here. I see you kinda fixed the issue until the new cooling solution arrives.

But from my own experience with a Ryzen 5 3600, if you wana test theres another way to keep temps in the safe spot this is what I did: went into the BIOS and disable "Presicion Boost" option (in my motherboard the is "Core Performance Boost" option), and thats all.
After doing this your CPU will only run at its Base frecuency, in your case 12 Cores / 24 Threads at 3.8GHz all the time aka no boost. Of course you have to remember to set back the vcore back to Auto and the offest to 0.

Cheers.
 

severe_009

Distinguished
Jan 2, 2010
37
2
18,535
Do you have the latest BIOS for your motherboard? It's recommended to be running one with AGESA 1004b? That may be related. But then it is annoying how some mfr's put settings in different areas and call it something different. Makes it hard unless we have the exact same board and BIOS.

But I think what's happening is with the under-volt you're getting something called 'clock compression'. The effect is it's reporting the clock speed but it's not really performing at the level it's reporting. Actual performance, as measured with a benchmark like Cinebench 20, would also be lower along with the temperature. When Ryzen 3000 first came out one or two reviewers did the same thing: undervolted, saw the clock speed didn't change but temperature dropped and they went silly on their youtube channels over it until they did actual benchmark comparisons.

Your situation is different though, you're just trying to control temperature in your hot ambient climate until getting better cooling. So a little loss in performance is acceptable for now.

Hi yes checked with cinebench and performance dropped was around 7% which Im fine with it. And I did some further digging in my BIOS and found the thermal throttle limit. I was looking under OC tweaker and PBO was located at a different tab.

I have to set Precision Boos Override Scalar to manual to adjust the thermal throttle limit but it opened up other options and have no idea what they are? Should I just leave the other options as it is?

oo8GFG0.jpg



UPDATE:

Under PBO, Ive set everything in Auto and set thermal throttle to 75C. Tested with Cinebench and thermal throttle works and peaks at 75C at 3.8 GHz. And everything now works like the stock (spiking temperature and micro CPU clock boost). Now have to think how to set the fan curve because it ramps up every 5-10 sec.

Just an observation with my previous under volt of 1.15V at 3.9Ghz, temperature is a bit lower at 70-75C underload compared with thermal throttling settings the clock speed peaks at 3.8GHz at 75c in just 5 seconds

Wondering which has the better result?
 
Last edited:

severe_009

Distinguished
Jan 2, 2010
37
2
18,535
I honeslty didn't read every single post in here. I see you kinda fixed the issue until the new cooling solution arrives.

But from my own experience with a Ryzen 5 3600, if you wana test theres another way to keep temps in the safe spot this is what I did: went into the BIOS and disable "Presicion Boost" option (in my motherboard the is "Core Performance Boost" option), and thats all.
After doing this your CPU will only run at its Base frecuency, in your case 12 Cores / 24 Threads at 3.8GHz all the time aka no boost. Of course you have to remember to set back the vcore back to Auto and the offest to 0.

Cheers.

Hi thanks for the info, I will try your suggestion as well, cheers!

BTW hows voltage without precision boost?
 
Last edited:
  • Like
Reactions: RodroX

severe_009

Distinguished
Jan 2, 2010
37
2
18,535
Hi yes checked with cinebench and performance dropped was around 7% which Im fine with it. And I did some further digging in my BIOS and found the thermal throttle limit. I was looking under OC tweaker and PBO was located at a different tab.

I have to set Precision Boos Override Scalar to manual to adjust the thermal throttle limit but it opened up other options and have no idea what they are? Should I just leave the other options as it is?

oo8GFG0.jpg



UPDATE:

Under PBO, Ive set everything in Auto and set thermal throttle to 75C. Tested with Cinebench and thermal throttle works and peaks at 75C at 3.8 GHz. And everything now works like the stock (spiking temperature and micro CPU clock boost). Now have to think how to set the fan curve because it ramps up every 5-10 sec.

Just an observation with my previous under volt of 1.15V at 3.9Ghz, temperature is a bit lower at 70-75C underload compared with thermal throttling settings the clock speed peaks at 3.8GHz at 75c in just 5 seconds

Wondering which has the better result?


UPDATE 2:

Did some quick real world test using 3ds Max and Vray, in terms of render speed they're more or less the same, but the stock settings have higher average core voltage of 1.4V compared to to manual undervolt of 1.15V. Which makes me think undervolting is better?
 
  • Like
Reactions: RodroX
UPDATE 2:

Did some quick real world test using 3ds Max and Vray, in terms of render speed they're more or less the same, but the stock settings have higher average core voltage of 1.4V compared to to manual undervolt of 1.15V. Which makes me think undervolting is better?
3dsMax and VRay sound like a pretty heavy processing load that will heat up the CPU cores. But for light bursty processing, when the CPU's not really heating up at all, is when the processor needs to be able ot use higher voltages. Limiting it to a lower voltage won't let it perform well in those kinds of processing loads.

I'd also test it with a light processing performance test. PCMark10 is a good one also Cinebench single thread test. BTW...games are also light bursty types of processing loads, so lowering voltage can lower game FPS and bring on or increase stuttering.

If you use only the thermal limiter (leave voltage on auto) then you could dial in a more reasonable limit and as well let it boost using a higher voltage when temperature is low. The processor is going to be safe at 85C and that's still leaving a 10C margin to Tjmax (95C). That would be a perfect setting for the thermal limit.

I set mine at 90C for my 3700X, but I'm also using 240mm AIO that never lets it get even there.
 
Solution

severe_009

Distinguished
Jan 2, 2010
37
2
18,535
3dsMax and VRay sound like a pretty heavy processing load that will heat up the CPU cores. But for light bursty processing, when the CPU's not really heating up at all, is when the processor needs to be able ot use higher voltages. Limiting it to a lower voltage won't let it perform well in those kinds of processing loads.

I'd also test it with a light processing performance test. PCMark10 is a good one also Cinebench single thread test. BTW...games are also light bursty types of processing loads, so lowering voltage can lower game FPS and bring on or increase stuttering.

If you use only the thermal limiter (leave voltage on auto) then you could dial in a more reasonable limit and as well let it boost using a higher voltage when temperature is low. The processor is going to be safe at 85C and that's still leaving a 10C margin to Tjmax (95C). That would be a perfect setting for the thermal limit.

I set mine at 90C for my 3700X, but I'm also using 240mm AIO that never lets it get even there.

Good point, those micro-boosting would be useful for some task and opening applications. I will leave it with stock voltage settings with 75C thermal throttle (got traumatized cause I left the PC rendering for 1.5 hrs at 95C).

BTW: heres now my temperature if everything behaving normally temperature wise

Ambient: 31C

CPU idle: 50C (RM), 55-65 spiking (MSI Afterburn)
fan speed: 2100rpm Wraith Prism

GPU: 37C

MB: 40C
fan speed: 3800rpm

SB: 55C

Voltage should stay pretty low, and still be able to go up and down as it need it (it could be going as down as 0.950 volts on idle).

Cool! Thanks for the info!
 
Last edited: