TuneD is a system tuning service for Linux

105 pointsposted 5 days ago
by tanelpoder

30 Comments

jauntywundrkind

2 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

2 days 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

2 days 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

2 days 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

a day 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

a day ago

Complaining here won't improve the situation, filing a bug might.

bcrl

a day 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

a day 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.

bcrl

13 hours ago

Shooting the messenger won't fix or prevent a code quality problem.

Edit: Let me explain why I am of this opinion. Of late my life is being made miserable by poor quality software. There seems to be an entire generation of programmers that are skipping the whole part of the design process where one explores the problem space a given piece of software is meant to fit into. In doing so, they are willfully ignoring how the user will experience their software.

This includes networking products that have no means of recovery when the cloud credentials are lost. When the owner of the product loses their credentials and no longer has access to the email address they originally signed up for, the only solution is a manual reset of every single device in the network. Have you every had to spend hours taking a ladder into a building to rip down a dozen access points that are paperweights because there's no way to recover from this?

Take LLMs. They're great at filling in reams of boilerplate code where the structure is generally the same as everything else. So much of the software industry is about building CRUD apps for your favourite corporation, and there's not a lot of thinking throughout the process. But what happens when you're building a complex application that involves careful performance optimization on many core CPUs and numerous race conditions with complex failure modes? Not so good. And the person driving the LLM isn't going to patch the security holes in the "vibe code" they submitted to the Linux kernel because they don't even know how it works.

Or LLMs that skip off the guard rails and feed desperate individuals information on how to kill themselves?

What about the Full Self Driving vehicles that drive at full speed into emergency vehicles parked on a road with lights flashing that the most naive of drivers would instinctively slow down for while approaching?

What about search engines that have prematurely deployed "AI" features that hallucinate search results for straightforward queries?

How about the world's largest e-commerce website that can't perform a simple keyword search for an attribute of a product (like the size of an SSD)? When I specify 8TB, I mean products that are 8TB, not 512GB!!!

How about CPUs that lose 10-20% of their touted performance gains at launch because of bugs that are "fixed" by software and microcode updates after launch?

What about the email service that blocks emails that are virtually identical to every other email sent to a mailing list because it wasn't delivered using TLS? Oh, but the spammers that have SPF + DKIM + ARC + whatever validation get to have their messages delivered because they have put an Unsubscribe link in the headers.

How about the online advertising platforms that push scams on the elderly with ads that are ephemeral to prevent anyone from sharing a link to what they just saw and report it?

So if I say there is a problem with a software developer being clueless about features they have implemented, it is a valid criticism that is based in facts about the way their software was designed and how it functions.

There are still people who value their reputation enough to put in the effort to explore the problem space and anticipate the user's needs to avoid issues like this, but I fear that they are going to be pushed out of the industry because they're not fast enough in the race to foist the "next big thing" onto an unsuspecting public.

We need simple, reliable, functional software that meets the needs of its users. And we're losing that.

It's a sad state of affairs that we have to deal with in 2025. We have truly entered the age of "Fuck you" software that ignores what it does to its users and actively harms them.

izacus

2 hours ago

Instead of writing a novel of rant, you could really spend that time filing a bug.

ahoka

a day ago

We used to call them script kiddies. Running stuff without understanding what's happening and why.

markhahn

a day 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

a day 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

2 days 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

a day 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

a day 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

a day 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.

carlhjerpe

a day 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

2 days ago

I haven't tested Intel's efficiency cores (E-cores) myself - would these address the need for desktops/laptops?

shirro

2 days 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

a day ago

Thanks, that comment saved me from spending time looking at it.

catherd

2 days 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

2 days 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

a day 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…

JdeBP

a day 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

a day 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