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 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.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      3 days ago

      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.