High power consumption through btusb and tick_sched_timer
Recently I noticed that my laptops battery is very worse so I checked powertop for the power consumption. Doesn't matter what I do. The the top processes are
Radio device: btusb
tick_sched_time
Together they consume almost 15-17 W of power.
What are these services and how can I fix this issue. My laptop is a Precision 5530 from Dell.
If you are not using bluetooth (higher power consumption) you can simply turn it off.
To turn off bluetooth only temporarily, use rfkill
:
$ sudo rfkill block bluetooth
To permanently turn off bluetooth create a udev
rule:
$ sudo -H gedit /etc/udev/rules.d/50-bluetooth.rules
Then in the empty file, insert these lines:
# disable bluetooth
SUBSYSTEM=="rfkill", ATTR{type}=="bluetooth", ATTR{state}="0"
Save the file and exist.
Visit the link above for even more power saving tips.
tick_sched_time
tick_sched_timer is part of the CPU scheduler and usually means you have lots of context switches and CPU wake-ups.
Ref: https://www.reddit.com/r/linuxquestions/comments/igt39n/tick_sched_timer/
Issue I was facing
I was using ubuntu 20.10 and tick_sched_timer was taking around 1.5 to 2 W in powertop
.
Fix I tried
You can try the below steps - It worked pretty well for me.
- Install TLP
sudo apt install tlp
- Install TLPUI Ref: https://github.com/d4nj1/TLPUI/wiki/Install-instructions#ubuntudebian-family
- Open TLP UI and tweak some values in GPU/CPU Cycles. (Check the image below)
TLP UI - Graphics Section
You might see that GPU max and boost frequencies are set to max. You can change those values as per your need.
To check what speed does your processor support type sudo tlp-stat -g
.
This will give you available frequencies (I set them to a minimum on battery).
Also, you can change Processor Scaling Frequency too. In order to check the available frequencies type sudo tlp-stat -p
. This will show min and max values supported.
I also tweaked some things like animations, startup, some background processes of chrome and other applications.
All these changes dropped tick_sched_time
value to around 400mW (average).