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:
- TLP: Adjusts CPU frequency scaling, PCI‑e ASPM, SATA link power‑management
- Powertop: Used to profile power consumption and has a tune feature
sudo powertop --auto-tune - cpufrequtils: Used to manage the CPU governor directly
- logind.conf: Can be used to put the whole server to sleep when idle
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.


@irmadlad Instead of using
--auto-tune,I used the output frompowertop --htmland created some udev rules for activating of power management functions of relevant devices during startup.With
--auto-tunesome of my USB HID devices like mice are getting not usable because of activated power management.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.
@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.
Thanks for that and the arch link. I may have some follow up questions later on if you don’t mind terribly.
@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