I own a Dell XPS 9370 laptop with an i7 8550U.
I recently noticed, that my performance decreases quite significantly when my battery percentage drops under 20%. This especially visible on GNOMEs animations, which start to get pretty laggy. This happens in all Ubuntu versions from 18.04 to 19.10 I tested.
I tried to investigate a bit and observed that my CPU frequency does not scale up properly anymore, it does not reach the max frequency of my processor (4 GHz) by far after my battery life falls under 20%. When running with over 20%, it scales properly up to the 4 GHz.
Setting the CPU governor to performance
removes that impact but is obviously not a solution, as that has a serious impact on the battery life.
So all in all it feels like a power saving feature of the governor. Is there a possibility to turn it off or move the battery percentage that kicks in? Maybe some kernel parameter?
Any additional ideas to solve that problem?
Cheers in advance
P.S: I uninstalled all additional power saving tools I know of (tlp
etc.), but that did not help either.
cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
andcat /sys/devices/system/cpu/intel_pstate/no_turbo
? – Doug Smythies Nov 11 '19 at 22:41cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
returns100
andcat /sys/devices/system/cpu/intel_pstate/no_turbo
returns0
.I will add those for under 20% after my battery life dropped...
– InvisibleShadowGhost Nov 11 '19 at 22:53sudo rdmsr -a 0x19a
stays 0 even if its under 20% and throttled. So that might not be the reason... – InvisibleShadowGhost Nov 13 '19 at 22:46/sys/devices/system/cpu/cpufreq/policy*/scaling_max_freq
. Depending on your kernel version, the two methods may or may not be interlinked. – Doug Smythies Nov 13 '19 at 22:56/sys/devices/system/cpu/cpufreq/policy*/scaling_max_freq
, which stays 4000000 even if throttled. So it looks like, that might not be the reason either... By the way, currently running the 5.3 kernel. – InvisibleShadowGhost Nov 13 '19 at 23:09top
and or viaps aux
. – Doug Smythies Nov 13 '19 at 23:49dmesg
as soon as you notice system slowing down. Probably at the same time you should notice the screen getting dimmer? – WinEunuuchs2Unix Nov 14 '19 at 00:09dmesg
? – InvisibleShadowGhost Nov 16 '19 at 23:20top
, and then observe a lot of CPU time allocated tokidle_inject
tasks, one task per CPU. You might also seeidle_inject
, but they should still be at 0% CPU, because as far as I know they are only hooks so far for future use. Otherwise, we'll have to move to a chat, as further investigation will be somewhat complicated, requiring some back and forth. – Doug Smythies Nov 17 '19 at 00:58htop
does not return any process when I filter foridle
...Furthermore,
– InvisibleShadowGhost Nov 17 '19 at 14:19dmesg -T
shows the last entry with a timestamp from two hours ago...turbostat
, and to start looking directly at the p-state requested and p-state granted registers.turbostat
(linux-tools-common package) can spew a bunch of stuff at startup that may or may not help. As a starting point suggest:sudo turbostat --Summary --show Busy%,Bzy_MHz,PkgTmp,PkgWatt,GFXWatt,IRQ --interval 15
. The pstate requested/granted MSRs are viasudo rdmsr --bitfield 15:8 -d -a 0x199
andsudo rdmsr --bitfield 15:8 -d -a 0x198
. This thiing will automatically ask us to move to chat, eventually. – Doug Smythies Nov 17 '19 at 15:06