jauntywundrkind 1 days ago [-]
I saw really big power savings when I started using TuneD. Such a huge upgrade for Linux users! From 8 months ago, going from 120 -> 85W. More recently got my desktop down to 65, yay. https://news.ycombinator.com/item?id=42636350

There's also API compatibility with the power-profiles-daemon, which didn't ever help me that much (I'd also done some basic tuning myself), and which has been unmaintained for a while now. But there's still a variety of utilities which target the old ppd.

chucky_z 23 hours ago [-]
I've used `tuned` a lot. It's really extremely good for personal machines/workstations, and really okay for servers. In my case I'm almost 50/50 with it in professional cases, where 50% of the time I had a real good time with it, and 50% of the time I turned it off and used startup scripts (like cloud-init per-boot and whatnot).

Overall, I'd say give it a shot as it can be really powerful and I do actually like it. Don't be afraid to go 'no, I know how to do this better, myself' and turn it off though.

bcrl 22 hours ago [-]
I disable it whenever setting up a new system. It gets irq bindings for networking wrong every single time, and moves irqs around in ways that defeats the whole point of having per CPU queues. Not sure why that behaviour is enabled by default as it makes no sense.
worthless-trash 21 hours ago [-]
Please lodge a bug because I seem to think the same way but lack the larger deployment experience to explain how to do it more generally than my tiny use case.
bcrl 20 hours ago [-]
It's easier to uninstall it. There's nothing good that tuned has ever done for me.

FYI: messing with irq bindings for per-cpu queues of nics has been a bug for at least 16 years depending on the nic. FYI: Intel launched the 82599 back in 2009.

Clueless software developers should not be messing with kernel settings like irq bindings. Software that does that is not worth my time.

cinntaile 17 hours ago [-]
Complaining here won't improve the situation, filing a bug might.
bcrl 9 hours ago [-]
Again, I don't use it, so I'm not going to file bugs against it. My post is simply providing relevant context for other readers here to understand what the limitations of the software referenced in this post. In no world are technically competent folks under an obligation to teach other people how to do things right. Doubly so when the software is paid for by a large multinational corporation that has the resources to do the job right.
malicka 8 hours ago [-]
No obligation, obviously, no one argues that. The issue is tone.

> Clueless software developers should not be messing with kernel settings like irq bindings. Software that does that is not worth my time.

Come on, man. If you don’t want to help, just don’t respond. If you want to warn someone against something, just be bare-minimum polite. It’s easy.

ahoka 14 hours ago [-]
We used to call them script kiddies. Running stuff without understanding what's happening and why.
markhahn 17 hours ago [-]
What did you accomplish with it?

Another answer talks about saving 40W. Why not? But it's not much in a normal power-cost environment.

chucky_z 7 hours ago [-]
I did the reverse, I needed something to keep CPUs pegged at 100% power all the time, and for some reason the boxes I was using at the time kept going 'no no it's ok I need to save power,' but that lead to really inconsistent performance. Tuned, in that environment, 'just worked' after I wrote a custom profile.

There was another issue I was able to fix with it in AWS, but I legitimately can't recall what it is.

shirro 23 hours ago [-]
There is something a bit wacky about a performance service implemented in an interpreted language like Python whether it is tuned or auto-cpufreq. Tuned does seem to be as good as it gets for the moment.

x86 cpus don't have the power efficiency to do the work we now expect of them in thin and light laptops with difficult thermal constraints. You can push them one way or another. You can have them fast with a fan like a jet engine or you can have them cold and running like a 10 year old computer or put the dial somewhere inbetween but there is only so much you can do.

carlhjerpe 16 hours ago [-]
TuneD doesn't have throughput or latency requirements, it should just tell the kernel what to do, perfect for python. If it's installed with the system python it'll share pages well with other Python applications.

And x86 not being power efficient is hardly true for the modern AMD mobile chips, it's not quite the "iPad" experience but it's very good. Comparing to Apple is unfair IMHO since M* is essentially an iPhone CPU with a souped up power budget, many years of optimization across both hardware, kernel and userspace that we don't have.

Hendrikto 13 hours ago [-]
But when the whole Python interpreter machinery has to run in the background, that will prevent your system from going to lower power states more often.

“It does not matter for this case” times 100 is how we get these power-hungry systems.

zbentley 12 hours ago [-]
I’m with the sibling commenter: Python’s heavy-weight-ness and overhead is a thing, yes, but it’s not the same kind of overhead that gets us to power hungry bloated systems—that stuff has more to do with (on the server) wakeups, memory thrashing from async GC, and careless addition of all sorts of background threads/services to applications without considering efficiency. On the desktop, bloat/overhead have more to do with questionable design choices made by UI frameworks, security/container layers that defeat some performance optimizations, and regular bloated browser-in-a-box GUI apps.

Python is a bad choice for high-throughput systems but not for reasons that make it power inefficient when used in a scripting capacity like tuned.

cap11235 13 hours ago [-]
What machinery?
carlhjerpe 10 hours ago [-]
It's more likely someone using higher-level constructs for something that'll spend most of it's time doing NOTHING will write code that does less. Asyncio helps you write code that does nothing most of the time.

You think the Python interpreter just randomly executes stuff for shits and giggles? No but it does use more memory than something compiled to native.

Meanwhile: TLP is implemented in Bash.

Stop spreading FUD please it contributes negatively to the world.

tanelpoder 23 hours ago [-]
I haven't tested Intel's efficiency cores (E-cores) myself - would these address the need for desktops/laptops?
shirro 22 hours ago [-]
Apple and many arm mobile platforms also have a mix of performance and efficiency cores so it seems to be a proven approach. I guess it comes down to implementation. Intel's efficiency cores by themselves (eg N series) apparently make nice little appliances, often better value than something like a RPi. I don't know how much they help their higher performance devices conserve energy.

I have one of Intel's old desktop class processors in a refurbished ex-office mini-desktop plugged into a power meter running a few services for the household and the idle usage isn't terrible. I don't understand why my laptop doesn't run colder and longer given the years of development between them.

There is also the race to idle strategy where you spike the performance cores to get back to idle which probably works well with a lot of office usage but not so well with something more demanding like games or benchmarks.

finaard 17 hours ago [-]
Thanks, that comment saved me from spending time looking at it.
nickysielicki 3 hours ago [-]
bpftune is also worth knowing about, but differs in that it mainly targets sysctl tuning.

https://github.com/oracle/bpftune

sudopluto 23 hours ago [-]
one hot tip is that tuned has a translation tool for power-profiles-daemon, meaning you can change the profile via gnome / kde

https://archlinux.org/packages/extra/any/tuned-ppd/

catherd 23 hours ago [-]
What I'd like is a tool that can be run on a fresh linux install to show what's not working correctly and maybe some diagnostics. Does that exist?

Things like suspend to RAM/disk working, GPU performance is reasonable, WiFi and disk speeds aren't slower than expected.

craftkiller 22 hours ago [-]
> Things like suspend to RAM [...] working

If you're on and AMD laptop then suspend to ram can be tested with amd-debug-tools[0].

> WiFi

Here[1] is a list of public iperf3 servers. You can test your connection speed with (change host name and port to appropriate server):

  # Test upload speed
  iperf3 -c host-name-here -p 5201

  # Test download speed
  iperf3 -c host-name-here -p 5201 -R
You can also launch your own server so you're not limited by your internet speed (I usually run one on my router):

  iperf3 -s -p 5201

  [0] https://git.kernel.org/pub/scm/linux/kernel/git/superm1/amd-debug-tools.git/about/
  [1] https://iperf.fr/iperf-servers.php
mook 20 hours ago [-]
Hmm, started looking into this and realized I already had tlp running, and that supports limiting maximum charge on the battery in the laptop. I didn't seem to see anything equivalent in the tuned documentation, but I did see the presets… and finding things like SAP Hana makes me think this isn't aimed at laptops…
carlhjerpe 16 hours ago [-]
echo 80 | sudo sponge /sys/class/power_supply/BAT0/charge_control_end_threshold

https://manpages.debian.org/testing/moreutils/sponge.1.en.ht... good for privilege escalated pipe to file :)

JdeBP 16 hours ago [-]
Given how much effort many people have put into combatting the trailing capital letter 'D' habit, including with one particular piece of RedHat software from 2010, it is interesting to see RedHat a couple of years earlier embracing the style.

Although all of the commands and files are all-lowercase: tuned.

JdeBP 16 hours ago [-]
The other amusing thing is the spanner in the icon, with the narrow jaws and mouth that is not angled. There are Apple pundits who insist that spanners do not look like that, and that Apple Has Got It Wrong. Of course, spanners can and do look like that.

It is probably lucky for RedHat that it does not have similar pundits. (-:

* https://news.ycombinator.com/item?id=45021826