So I ran into DietPi as I started a project to create a Kubernetes cluster for my home lab. Less installed means more resources available, less attack surface, and less configuration to manage. Granted, electricity costs money (~$0.286/kwH where I live) and creates heat and noise, so I always look to drive idle power consumption into the ground where possible.
So the numbers of interest are as follows:
- 1.30W - WiFi, TX Power of 5dBm, USB-C powered
- 1.45W - Ethernet, 100Mbps, USB-C powered
- 1.68W - Ethernet, 1000Mbps, USB-C powered
- 1.70W - Ethernet, 100Mbps, PoE powered
- 1.99W - Ethernet, 1000Mbps, PoE powered
I’m using the original (revised) Raspberry Pi PoE Hats as they’re known to sip power. The PoE numbers were obtained by pulling the voltage and amperage draw over SSH via my Ubiqitui UniFi switches using the swctrl poe show id command. Similar to the USB-C power supply, the voltage supplied by the PoE switch is about 4-5% higher than the required voltage.
To put this in perspective, on another port I have my old RPi 4B 4GB rev. 1.2 with a fairly normal /boot/config.txt. That’s consuming 2.90W – with half the memory – compared to 1.99W of the RPi 4B 8GB rev. 1.5. Some of this is absolutely due to hardware changes across board revisions. Of course, the rest is from config changes to reduce as much power consumption as possible to have as much overhead as possible.
So here’s the general config changes I’ve made:
Don’t automatically load overlays for detected cameras
Don’t automatically load overlays for detected DSI displays
We can’t boost to 1.8GHz with aggressive undervolting
CPU related frequencies
CPU related voltages
Memory related voltages
GPU related frequencies
Disable the Power LED
Disable the Activity LED
Disable Ethernet Port Link LED
Set POE Hat Fan Speeds
So, fairly minimal, with some undervolting and idle clock reduction – don’t worry, it’s been extensively tested for stability! The question is, can we go lower without adversely affecting performance?
To be fair, for normal use I do intend on maintaining 1000Mbps Ethernet, as actual work will be done. These are just intended to be headless servers that I want to sip power when they aren’t busy, and be silent – at idle, the CPU is ~37C (no heatsink) with the PoE fan off. I’m just curious if folks are aware of what else might be possible to eke out any more power savings.
As an aside, very happy to have found DietPi. It brings me back closer to the days of playing with Linux in the late 90s – when Debian was brand new, and I used to install Slackware from 3.5" floppies onto dumpster-dived 386s.