Fixing low CPU frequencies on Laptops running Linux

Recently I switched full time to using Linux. As my go to distribution I chose KUbuntu. However after some time using it, I noticed poorer performance than I experienced using Windows. After further investigations I found out that my CPU was only boosting up to 1.5 GHz even though Intel claims it should manage 4.0 GHz with adequate cooling. When using Windows I saw those frequencies often, so it can’t be a thermal problem. I also switched to Arch Linux to eliminate a issue with an older kernel. For your reference: I’m using a HP Probook 470 G5 with an i7-8550u.

Locate the Problem

To check if you have the same problem, do the following steps:
1. Check the specifications of your CPU. This is required in order for you to know what performance you can expect.
2. Install s-tui. This is a package which let’s you monitor your CPU while conveniently enabling a stress test.
3. Start s-tui. You should see something like this:

4. Navigate downwards to select the stress test and hit enter (If this option is grayed out, you additionally need to install the stress package) You should see that the CPU Util [%] jumps to 100% on all cores. Also your Frequency should change.

If your CPU frequency bogs down nearly immediately, you might have the same issue I had.

The Solution

Lucky you, I found the solution. As pointed out by I friend of mine the problem lies in a bad implementation of a lap mode. This mode was introduced to cap the thermals to a minimum to allow a comfortable usage of the laptop on your lap. This however means that your CPU will throttle quite a lot. This problem can occur on pretty much every laptop with an Intel CPU. This is not a manufacturer specific issue. In fact quite the opposite is the case. The solution was originally programmed for Lenovo Laptops however it was successfully used on HP and Dell systems. And here it is: Throttled

Throttled is a project designed to work around this issue. If you’ve installed the package and enabled the service you should see a much better performance while stress testing your CPU (and of course in real life use). For detailed instructions on how to install, please refer to the corresponding Github page.

Using this package however comes at a cost. The cost of battery life. Changing the thermal settings, change the behavior of your CPU which will in turn require a little bit more juice to keep running because it wants to run faster. From my point of view this is not as big of a concern.

Hopefully I pointed you in the right direction to solve your performance issues. Signing off.

WordPress Appliance - Powered by TurnKey Linux