Is there a way to limit CPU core specific frequencies through software?

Debian_SuperUser

Active Member
Joined
Mar 18, 2024
Messages
136
Reaction score
33
Credits
1,606
So I am on a laptop with CPU stability problems. For that I need to lock it to a lower frequency. I really think that it could be a CPU voltage problem, but my firmware doesn't allow access to voltage control and I am trying my best to get that. For the time being, I want to know that if I can set an asynchronous clock speed through software, meaning setting different clock speeds for every CPU core? On Throttlestop on Windows, my firmware also doesn't allow turbo ratios so that I can specify different speeds for individual cores. On Linux, if I try to set the frequency of an individual core through cpupower or cpufreq, either it doesn't apply, or it gets applied to all cores. Also, the userspace governer doesn't load on my system. I am currently on Ubuntu 24.04.

Also, notice that I was mentioning "software". Because I think I might not be able to set individual clock speeds at the hardware level, so I want to know that if I can achieve that through software? Because I know that software has the ability to virtually limit CPU frequencies. I mean how hard is it to add a few hundred million NOP instructions every second on a core? That might just do it.
 


Might be time to get a new CPU
It's a laptop.

@CaffeineAddict Why be mad? It is just not worth it to put the time into troubleshooting my problem. I have done everything possible. I just need voltage controls, which I am trying to get. And to keep my CPU running, I need to handicap its performance. And I am wondering if I could get quite a bit more performance by locking the clock speed of that core which possibly is having the problem. I just can't set individual clock speeds to cores.
 
Why be mad? It is just not worth it to put the time into troubleshooting my problem. I have done everything possible.
Yes agree, that's exactly why I reacted with "mad", you're predetermined that no answer is to be satisfactory to you because you tried everything and don't what to share what you did.

How can anyone know what you did?
IMO, there is no such thing as CPU instability, that's why I asked you to explain what made you think it is?
 
Yes agree, that's exactly why I reacted with "mad", you're predetermined that no answer is to be satisfactory to you because you tried everything and don't what to share what you did.

How can anyone know what you did?
IMO, there is no such thing as CPU instability, that's why I asked you to explain what made you think it is?
Well if you want to listen then okay.

The laptop I am on is a refurbished one that was bought for my sister, but it has been having crashes all the time. I took it in my hands, and now I am using it because it is a more premium machine than the laptop I used before. I didn't actually fix it, but a makeshift by limiting the clock speed of the CPU. By "CPU instability", I mean Windows BSODs of "WHEA_UNCORRECTABLE_ERROR", "MACHINE_CHECK_EXCEPTION", and "CLOCK_WATCHDOG_TIMEOUT". Upon debugging the memory dumps, they seem to be pointing to an internal timer error in one of the cores.

On Linux, besides just hanging and resetting, sometimes I did get to see some stuff, like a core halt message from Kworker, and recently some other complicated message which is similiar to the core halt.

Before I even found out the makeshift of limiting the clock speed, I found out that disabling turbo boost will not crash the system at all.

So upon that, I used to think that it was a power issue. So I spent a lot of time playing with the power limits. No success. And of course, I did try like memory swap (not really swap, but swapping both the modules in and out in different configurations), battery reset, CMOS reset, and all.

I then thought it could be a clock speed issue, and that is why it is stable without turbo at 1.69 GHz. I then experimented with the clock speed, and found that locking it to 3 GHz works. Without hyperthreading, the system is more stable, and I can get the clock speed to like 3.4GHz. On Linux, I can get 100MHz higher, but sometimes it will crash. The machine is literally behaving like a human. The more I use it, the more unstable it gets, but at 3 GHz it still hasn't crashed. It's an i5 8350U which has a boost of 3.6 GHz.

And also just recently, I found out that disabling CPU idling (meaning running constantly in C0 state), also increases stability quite a bit, and I can run at like 3.3 - 3.4 GHz I think. But it won't take me long to thermal throttle that way.

With all this, I am so locked onto that voltages might be the issue, and the CPU just needs a bit more voltage. But the damn HP firmware just won't give me the bloody voltage controls. I am trying to unlock access to the FIVR through PowerMonkey (github), or else the last resort is firmware modding.

But for the time being, I want to know how I can set different clock speeds to my cores. If hardware level is not possible, then software.
 
By "CPU instability", I mean Windows BSODs of "WHEA_UNCORRECTABLE_ERROR", "MACHINE_CHECK_EXCEPTION", and "CLOCK_WATCHDOG_TIMEOUT".
So you have Windows installed on it?
Debugging memory dumps requires a great deal of skills and especially Windows programing knowledge.

I suggest you test all of your hardware.
Please share your hardware info then I'll give your links to the tools for hardware tests and how to use them.
 
So you have Windows installed on it?
Debugging memory dumps requires a great deal of skills and especially Windows programing knowledge.

I suggest you test all of your hardware.
Please share your hardware info then I'll give your links to the tools for hardware tests and how to use them.
I personally think that this is going to get us nowhere, but if you want then ok.

It's an HP Elitebook 840 G5. I5 8350U, 2x8GB ram, sata SSD. Latest firmware. I don't know how exactly this will help you.

You still haven't tried to help me with the issue I opened the post with.
 
It's an HP Elitebook 840 G5. I5 8350U, 2x8GB ram, sata SSD. Latest firmware. I don't know how exactly this will help you.

You still haven't tried to help me with the issue I opened the post with.
Here are tests in order, if any one fails, stop testing and share results..

First test, run CPU test with "Intel Processor Diagnostic Tool" and then share screenshot of the result.

Second test, run RAM test with the Memtest86+:
For the test to be meaningful you need to ran at least 6 passes, I suggest 10
Keep an eye on the test and then share results of the test in your next post after 6-10 passes.

Third test, run GPU test BUT FOR NO LONGER THAN 20 MINUTES!
Then also share screenshot of the result.

4th test, run SSD test, boot from live Linux USB and run test on root file system:
Bash:
sudo umount /dev/sdX
sudo e2fsck -c -v -k /dev/sdX

where /dev/sdX is root partition, share screenshot of the result.

edit:
And also from live boot output of:
sudo smartctl -a -v /dev/sdX

I personally think that this is going to get us nowhere
You need to eliminate hardware problems if you want to debug memory dumps.
The fact that you get random bug checks suggests nothing specific but possible hardware problem.
 
Last edited:
@CaffeineAddict

Why won't you understand :(? I have done stress tests and all. The Intel processor diagnostic tools works and completes fine, if I have locked the frequency. Else, the system crashes before even running any stress test. I have already run Memtestx86 several times without any issue (Idk, if the CPU frequency is at max at that time. Either it is not, or either Memtest is very light that it doesn't crash). By swapping ram modules, I have already removed that variable. Furmark also runs fine, if I have the CPU frequency lock. And it is not an SSD problem, if both Windows and Linux can crash.
 
Why won't you understand :(? I have done stress tests and all. The Intel processor diagnostic tools works and completes fine, if I have locked the frequency
I need to see why it fails, please undo what ever you did to CPU and run the Intel test then share the screenshot showing the reason for test failure so that we can see the report of why it fails.

I can't help you based on your words, I might if you immediately told us you ran the tests and shared the results but I suspect your test were not run the way they should be run, for ex. did you run min. 6 RAM passes? what was the result if you did?
 
please undo what ever you did to CPU
Okay, now Windows can't even survive the boot. Satisfied? The frequency has to be locked or the system will crash quickly.

6 RAM passes?
I understand that you need information, but I am getting mad. I had run memtestx86 several times, and for hours. I didn't really count the passes. Even if there is a problem, it has to be because of the CPU frequency. And I already stated that I tried swapping the memory modules. Even the BSOD errors show that there is an internal timer error in one of the CPU cores. Even Linux states similar. Now what more proof do you need?

Please try to reply to the question I mentioned in the post. As for the troubleshooting, I am a very knowledgeable person in tech and know what I am doing. I really don't have the patience to reply people and start troubleshooting from square 1, when I already know the results of everything.
 
@CaffeineAddict

Also I am sorry if I am being rude. I have already spent way to much time in diagnosing and troubleshooting this device, and I am frustrated. But I think I am on the right track of the CPU voltages. Just kindly only focus on the question mentioned in the post.
 
Yeah, voltages might be problem, but only if somebody changed them, you said you're unable to change them because there is no option in BIOS so how the heck did they change?

I need hardware test reports to see the problem and google them out if needed otherwise I can't give any suggestions other than shooting in the dark and play guess game which is not my way of troubleshooting problems.

Okay, now Windows can't even survive the boot. Satisfied? The frequency has to be locked or the system will crash quickly.
Well then if you can't boot any system you have hardware problem almost for sure.
 


Members online


Latest posts

Top