Efficiency is paramount to a home server, especially since these are machines that are meant to be used 24×7 long-term. The last thing you want is an inflated electric bill — and there thankfully do exist ways to optimize your power draw.
I tried out a few tests with a standard smart plug attached to the wall, and the difference in power consumption from these tweaks was definitely noticeable. Even better, I didn’t have to bother replacing a single part or lose out on any noticeable amount of performance along the way.
The base tweaks start from the BIOS itself
ErP, wake-from-sleep, and more things you need to consider
Your first set of tweaks will begin from the computer BIOS itself. I’m going to be using a B550 board with an AM4 APU for this, but these BIOS tweaks should apply to every platform regardless:
- Enable ErP to boost power savings while idle.
- Make sure Global C-State control is enabled. Without C-States, the CPU won’t idle as effectively.
- Consider enabling AMD’s Cool n Quiet feature for additional savings and noise reduction.
- Turn on PCIe ASPM (L1) for more tuning.
- Set a mild undervolt curve. Try in small increments of 5. An offset of -20 is usually the sweet spot for most Ryzen CPUs.
You could also disable motherboard devices you really don’t need, like onboard audio, or the built-in Ethernet port if you use a dedicated card instead. Disabling any game mode optimizations and turbo also helps — home servers don’t need all that much power to operate.
It’s also wise to avoid overclocking at all costs, unless you plan on using the server for gaming. Just stick to the sane defaults of your motherboard for both the CPU and RAM. 3200 MHz is once again the sweet spot for Ryzen systems.
My home server uses a Ryzen 5 5600G, whose integrated graphics are bound to the Proxmox install. A second, Nvidia RTX A2000 is the secondary GPU for this system, made to dynamically switch between the virtual machine and host.
This lets it maintain a conservative power profile at all times, except when I’m running a virtual machine. That said, there’s still a lot more optimization to be done at the OS level, so hang on.
Additional tweaks you can make from Proxmox itself
The default power profile within Proxmox is not tuned toward power savings in the slightest. You’ll have to manually add in these parameters yourself, but it doesn’t take too long and is quite straightforward to implement.
That said, here are a few general pointers:
- Assuming you’re on something like Proxmox (Linux-based), you’ll want to set the pstate to active. For AMD processors, simply append amd_pstate=active to the bootloader.
- Install and enable powertop on your Proxmox server. Enable the auto-tune parameter for a good, balanced profile.
- Be mindful of the apps and containers your server is running at a given time. Tasks like virtualization (along with GPU passthrough) are a lot more resource- and power-intensive. Don’t make a virtual machine for everything — some things just work better as containers.
- If you’re on a laptop or mobile processor platform, try disabling CPU boost. This should drastically cut down on both power consumption and heat generation. Most tasks run fine without CPU boost, so you should barely notice a difference.
Each PC part draws power, and you’ll have to optimize your power usage by disabling things you don’t need. Alternatively, it might be worthwhile to switch to more power-efficient hardware (like using SSDs instead of a mechanical hard drive), but prices can be prohibitively high these days. A mixed system might be useful, with the SSD as your boot drive.
As always, don’t be afraid to experiment and try out new combinations.
As for GPUs, things get a bit trickier. You’ll want to ensure that your GPU maintains its low-power state while at idle, and this is usually accomplished automatically by Linux when using the official open-source (AMD and Intel) and closed-source (Nvidia, AMDGPU Pro) drivers.
There is only so much you can do with software
While there is a substantial amount of power savings to be had from simply tweaking your PCs’ BIOS and OS parameters, there is only so much you can do. You’ll eventually hit a wall sooner or later, quickly finding out that not all PC hardware is created equal. Some parts and platforms are just more power efficient than others. It’s also why I’m always hesitant to recommend an older chipset and board, since these are a bit more power-hungry.
This is also why my current server uses AM4 — it can be both power efficient and excellent value for money, especially given the current market climate. Of course, there are a few downsides, like the lack of enough PCIe lanes, but it’s a compromise I’m more than happy to accept.