I am wondering what can be done in Linux to reduce CPU power consumption. In Windows, I’m familiar with setting and testing power limits and undervolting using Throttlestop (amazing tool), but to my knowledge no such tool (command line or otherwise) exists for Linux.
I’ve recently acquired an HP Mini G6 with a full fat i7 10700, which came as a surprise as it was advertised as 10700T when I went to pick it up.
I was after the T CPU due to the lower power consumption for an always on home server that sees occasional use (media server, file sharing, image backup, etc)
Also, I don’t actually know if the idle power consumption between the 10700 and the 10700T is actually any different, or if the T only prevents the CPU from boosting as hard - if anyone could clear that up! Cheers.
Install
powertop
. It will allow you to tune the power consumption.Oh, these are both great. Thank you.
The main way of reducing the amount of energy is the CPU governor in the kernel. It can be set to maximize performances (it will rather scale the frequency in the high values), to maximize energy efficiency (it will scale the CPU down) or on demand (it will scale down, until some work is asked from the CPU, at which point it will scale up until it’s not needed anymore). Personally, I use on demand scaling, and then I use
cpupower
to set up the maximum frequency, so that I have both scaling and energy efficiency. Here is a page from Archlinux wiki about tools you may want (it usually is helpful in other distros as well).And then of course, there is good judgment. You will consume less energy if you’re doing less work, so a minimalist desktop with very few apps running at the same time will consume less energy than ubuntu on Gnome with several rails app running with constant background jobs being processed.