Save Power with Proxmox: 4 Practical Tips for Lower Energy Consumption

Proxmox: Reducing Power Consumption with 4 Practical Tips

In times of rising energy costs and increasing environmental awareness, many of us are looking for ways to reduce electricity usage in our IT infrastructure. Especially in home networks and small servers that run around the clock, energy demands can quickly become a non-negligible cost factor.

If you, like me, use Proxmox — an open-source tool for virtualization — there are fortunately several effective ways to optimize your setup’s power consumption without sacrificing performance.

In this blog post I share four proven tips to make your Proxmox installation more energy efficient. It’s not just about hardware adjustments, but also about smart software optimizations that make your VMs and containers more power-friendly. Whether you’re an experienced Proxmox user or just starting out with the platform, these tips will help you reduce your electricity bill and at the same time make a small contribution to environmental protection.

Let’s get started right away and see how you can pull more efficiency out of your Proxmox server!


Beforehand: Measure Power Consumption

To even know how much electricity your devices are using, you should measure it. It’s not about perfect accuracy here, but rather getting a feeling for how much power each device consumes. For this you can purchase a cheap power meter. Note please that cheaper devices naturally don’t always have high accuracy.
If you have a smart home setup, you can plug a smart-power-plug with measurement function in front of your homelab. That way you can monitor the real-time power consumption via software.


Pay Attention to the Right Hardware

Of course everything ultimately stands and falls with the right hardware. Old enterprise hardware naturally uses a lot of power. By contrast, so-called thin clients are a very good solution for building a power-efficient server. I have once presented them in a video.
Additionally, you can build a good server yourself with the right components. In the Hardwareluxx forum there’s a linked Google Sheets file listing systems that idle at under 30 Watts.
It is also important, in a self-assembled PC / server, to pay attention to all components. It starts with an efficient power supply, goes through a good motherboard, up to the right choice of CPU. Especially the latter: Intel still has a slight edge when it comes to lower idle power consumption. It is also important that Intel CPUs with a “T” in the designation only have a lower TDP.

TDP itself does not directly equate to power consumption, but is the maximum heat output. A “T” CPU is thus suitable for systems that are intended to run fully passively. Components that tend to speak for higher power consumption would be:

  • Graphics cards
  • RAID controllers / HBAs
  • Network cards with more than 10 Gbit speed

Further down in the article I discuss ASPM status. ASPM (Active State Power Management) means that a component can or cannot support certain power-saving functions. Roughly put, enterprise hardware often is not equipped with these functions.


Set BIOS Settings Correctly

Disable Unnecessary Hardware

In most BIOS settings you can disable various devices. For a virtualization host, for example, audio is often not needed. So it would be advisable to disable the sound card in BIOS. The same applies to COM or serial ports.
If you do not have a graphics card or other add-in card requiring a high PCI-Express standard installed, you could also reduce the PCIe slots from version 4 to version 3, for example. This too saves some watts.

Enable ASPM

ASPM stands for Active State Power Management and is a technology used in computers to improve the energy efficiency of PCIe connections. PCIe is a high-speed interface used in computers to attach various hardware components such as graphics cards, network cards, or SSDs. ASPM aims to reduce the power consumption of PCIe devices by dynamically adjusting power usage in connection lines between the CPU (or chipset) and connected PCIe devices. This is done by automatically switching between different performance states depending on utilization and current requirements.

Enable CPU Power-Saving Functions

In BIOS always enable C-States. Depending on manufacturer and version you should be able to enable up to C10. But don’t worry if your BIOS only allows e.g. up to C6 — you’re not missing out on much potential.


C-States

What Are C-States

C-States, or CPU sleep states, are states into which a CPU (Central Processing Unit) can enter when it’s not being actively used. They are part of modern CPUs’ performance control functions and serve to reduce power consumption when full CPU performance is not needed.

There are different C-states, from C0 up to Cn (depending on the processor). Here are some of the most common:

  • C0: Active, executing tasks.
  • C1: Light sleep, can quickly return to active.
  • C3: Deeper sleep, more energy saved, slower wake.
  • C6: Very deep sleep, almost completely off, longest wake time.

The switch between these states is automatically handled by the operating system and hardware based on current CPU load and energy settings.

You should always aim for C10 status. In a Proxmox server you likely won’t achieve that — after all the system is typically designed to run continuously, especially if you’re running many virtual machines or LXCs.

Check C-States with powertop

powertop is a great Linux command that allows you to check the C-states of your server. If they only go up to e.g. C3, you are still wasting energy “unnecessarily”.

Often it’s PCI-Express devices that don’t allow further C-states. With the command:

lspci -vv | awk '/ASPM/{print $0}' RS= | grep --color -P '(^[a-z0-9:.]+|ASPM )'