ISO Homelab Power Saving Methods [SOLVED FOR NOW]
from irmadlad@lemmy.world to selfhosted@lemmy.world on 05 Jan 14:14
https://lemmy.world/post/41185625

In an effort to make the homelab more environmentally friendly, I have started to explore ways to conserve energy consumption. I always see a lot of considerations for choosing equipment that sips power, but other than avoiding enterprise power hogs and very old equipment, I don’t see a lot of advice in how to tame the server(s) you may already have.

So far I’ve looked at:

Since I am the only user of my network, and since a lot of times the server sits unused until I want to engage maybe listening to my audio collection via Navidrome, or perhaps I’m working on some automation in n8n, et al, there’s no need to be at max power 24/7.

So besides just powering off and on the server, which would work but not be quite as elegant of a solution, are there other ways you have come across, read about, deployed on your own server?

ETA: Thanks for everyone’s input. I realize that the ideal scenario is to have more energy effecient equipment. Sometimes tho, this is not a ready made solution due to many constraints. The exercise was to try to squeeze out every last little power saving option I could, without obviously replacing equipment.

Many thanks.

#selfhosted

threaded - newest

ptz@dubvee.org on 05 Jan 14:23 next collapse

I downgraded from used enterprise gear to those ultra small form factor PCs. They sip power well enough on their own that I haven’t really bothered tuning anything. I suppose I could cap the frequency with cpufrequtils and set the governor to conservative rather than on-demand (I do this with my battery-powered RasPi projects) but I’m not sure how much difference that’ll make for my servers.

In the past, I had Docker Swarm setup and automation to collapse the swarm down to a single machine (powering the other ones down and back on with WoL) but that was more trouble than it was worth. On average load, the USFF PCs run at about 15 watts and don’t usually peak above 30 unless they’re rebooting or doing something very heavy. Even transcoding doesn’t break 20 watts since I’m using hardware acceleration.

The biggest power savings I found that was worth the effort was to just get rid of the enterprise gear, switch from VMs to Docker containers where possible, and get rid of stuff I’m not using (or only run it on-demand).

The only remaining enterprise power suck I have left is my managed switch. It’s a 2005-era dinosaur that’s loud and power hungry, but it’s been a workhorse I’m having a hard time parting with.

thelittleblackbird@lemmy.world on 05 Jan 14:24 next collapse

Honestly, every hw that is not going automatically into a power save mode when not used is utterly crap, even my home grade switches are able to do so.

So, the only thing you need to do is to buy recent hw and of course not over size your hw necessities. But recent hw tends to be more expensive, so in the end, it is an excel driven decission.

And once this is said, be careful, some hw suffer more for a on/off cycle than from a continuous power on mode. Think in hdd power cycles or condensation/ salt-rust problems in high humidity areas.

Appoxo@lemmy.dbzer0.com on 07 Jan 18:22 collapse

I have never seen a switch not being in use basically 24/7.
And if only 1 device is attached: This is basically a glorified extension cord.

db_geek@norden.social on 05 Jan 14:28 next collapse

@irmadlad Instead of using `--auto-tune, `I used the output from `powertop --html` and created some udev rules for activating of power management functions of relevant devices during startup.
With `--auto-tune` some of my USB HID devices like mice are getting not usable because of activated power management.

irmadlad@lemmy.world on 05 Jan 14:35 collapse

I used the output from powertop --html

Noted.

It’s not like I’m running big enterprise equipment that dims the lights every time I power it on, but when I’m snoring in bed at night, other than a few crons that run, I don’t see a need for the server to be at max. I want to cut out as much wasted power consumption as possible, even if it’s just a little here and a little there. It all adds up. It’s something I’ve been noodling around with for a bit, but if I were to make a new years resolution for the homelab, I’d like it to use the least amount of power, while not creating a lot of hindrances when I am engaging with the server.

db_geek@norden.social on 05 Jan 14:48 collapse

@irmadlad That have also been my intentions, when I created the udev rules.
They are most generic and I use them on several systems for reducing some small power consumption.
Example: enabling of PCI power management
```
ACTION=="add|change", \
SUBSYSTEM=="pci", \
ATTR{power/control}="auto"
```
The things, which you listed in your first post are from my view good topics, for getting maximum results from minimum effort.
I started at
https://wiki.archlinux.org/title/powertop
and went further from there.

irmadlad@lemmy.world on 05 Jan 15:14 collapse

Thanks for that and the arch link. I may have some follow up questions later on if you don’t mind terribly.

db_geek@norden.social on 05 Jan 15:20 collapse

@irmadlad You are welcome.
The Arch Wiki also has a lot information about Power Management.
And I would say, most of them are independent if Arch Linux is used or not.

https://wiki.archlinux.org/title/Power_management

Onomatopoeia@lemmy.cafe on 05 Jan 14:30 next collapse

The number one thing you can do, by orders of magnitude, is to start with power-friendly hardware.

For example, my previous server was an old gaming machine. It’s lowest idle power consumption was 80 watts. That was with running an OS that permitted heavy power reduction control, and enabling every power saving feature in the BIOS.

Compare that to my 2019 Dell Optiplex Small-Form-Factor desktop I’m running as a server. The power supply is rated for 80 watts, MAX. It idles at 20w, peaks at about 70w when converting multiple videos simultaneously. This with an 8 TB enterprise drive for data.

So 1/4 the power draw when idle, where it spends perhaps 90%+ of its time. Even things like Resilio Sync and Syncthing don’t significantly raise CPU time.

Streaming with Jellyfin or Mediamonkey have nearly no CPU impact.

There’s nothing in heavier hardware you could tune to get down to 20w.

BrianTheeBiscuiteer@lemmy.world on 05 Jan 18:00 collapse

For pure energy efficiency it’s hard to beat an SBC (raspi, rockpi). Mine does a good job with Jellyfin streaming so long as I avoid transcoding.

Onomatopoeia@lemmy.cafe on 05 Jan 23:06 collapse

Yep.

My Pi is about 8 watts. Really hard to beat.

The SFF started at 12w, but swapping out the data drive for a much larger one pushed it up 5w. And now with 2 VMs always running (PiHole and a Windows VM), it hovers at 20w.

The ancient NAS (Drobo) sits at about 15w.

just_another_person@lemmy.world on 05 Jan 14:42 next collapse

It starts with the hardware first. You started well with tuning your CPU/MEM frequency settings, but that matters less if you’re running giant PSUs (or redundant), more drives than you need, and a huge number of peripherals.

Get a cheap outlet monitor to see what your power draw is and track it at the wall. I just got these cheap Emporia ones. I’m sure there’s more reputable ones out there.

Don’t go crazy with your networking solution if you don’t need them. PoE switches draw tons of power even when idle, and a 24-port switch is a huge draw if you’re only using 3 of them.

Consider getting a power efficient NAS box for backend storage, and low power Minipc for frontend serving instead of using a power hungry machine for all your network apps.

You can dive deeper into any angle thing, but these are the basics.

Jumuta@sh.itjust.works on 05 Jan 16:08 next collapse

generally TLP can do all of the above, so what I do is use powertop and tlp-stat for checking the current configuration, and tlp.conf for setting the configuration

irmadlad@lemmy.world on 05 Jan 20:53 collapse

Thank you. Powertop & tlp have been deployed. So now I’ll need to tweak and test.

ISolox@lemmy.world on 05 Jan 18:36 next collapse

This is pretty tricky. Sure you can tweak your CPU all day to try to get some lower power usage, but to get more drastic changes, it really starts at the hardware your using. I would suggest getting a N100 nas maybe? But it kinda defeats the saving money on power usage if you have to spend $150-$300 to do so.

Decronym@lemmy.decronym.xyz on 05 Jan 23:15 collapse

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

Fewer Letters More Letters
DNS Domain Name Service/System
NAS Network-Attached Storage
PiHole Network-wide ad-blocker (DNS sinkhole)
SBC Single-Board Computer

3 acronyms in this thread; the most compressed thread commented on today has 4 acronyms.

[Thread #983 for this comm, first seen 5th Jan 2026, 23:15] [FAQ] [Full list] [Contact] [Source code]

Gonzako@lemmy.world on 06 Jan 03:36 collapse

Yo, this is amazing