Hi all, and especially Mgutt, nice topic! Thanks for the write up!
I've been doing my homework too and I'm trying to lower the power usage of my server.
First the hardware which was sort of chosen for decent low power a couple years back (Dutch tech site Tweakers.net has a nice 'low energy server' topic that helped me choose this build. Not perfect but not a bad basis I believe):
Processor: Intel Pentium Gold G5420
Motherboard: ASRock H370M-ITX/ac
Memory: Crucial Ballistix Sport LT BLS16G4D240FSB (1x 16GB)
SSD: Toshiba RC500 500GB
Harddrives: 3x 10TB. 2x WDC_WD100EMAZ-00WJTA0_1EGLJKWZ 1x WDC_WD101EDBZ-11B1DA0_VCJDR1NP (all three shucked from a WD Elements desktop unit)
Powersupply: Seasonic G-series 360 watt
USB stick: Samsung FIT Plus 32GB
Cooler: Scythe Big Shuriken 2 Rev. B
Case: Fractal Design Node 304
HDD's spin down every 30 min
Running completely headless unless I'm twaeking bios
Running Plex, SABNZB, Radarr, Sonarr, Nextcloud, Pihole, Mariadb, SWAG, DuckDNS, unifi controller as dockers. All seem very low in cpu usage nearly all are at 0.01%
Home Assistant as VM.
I ran powertop --auto-tune and all tunables jump to good without any issue.
Server now draws 18-20W when all the drives are idle. Aprox 35-40W when active. Measured with a Shelly plug S.
C-state doesnt drop below C3, haven't fugured out why that is. Even with the array disabled, so not running anything at all for 30 min. C3 is all I get.
Tips and Tweaks Power Saving CPU govenor set to Power Save
All C-states enabled in the BIOS.
Turbo Boost disabled.
Lot of pictures and screenshots here:
https://imgur.com/a/25ZBsGY
My main goal is to see if I can get an even lower idle consumption
Questions:
Does any of the above info tell me (or you in this case) why I'm not getting a higher C-state than C3? If so, can I fix that?
I'm guessing the SSD may be preventing it as I hardly have any other hardware. but how to prove that?
I never edited the go-file before. From what I understand from your first post in this topic I should be able to disable more hardware (usb ports, PCI-e slot etc) with the list of commands you posted in the first post.
How can I test them? Just in the console run: "for i in /sys/class/net/eth?; do ethtool -s $(basename $i) wol d; done" for example? see if it gives any errors and do all of them one by one. if all is fine add the complete list to the go file (just copy paste?)?
I am also now doing the powertop --auto-tune by hand after every boot. that can go in the go-file too right?
Any tips or tweaks to my dockers to prevent them from spinning up disks? it doesnt happen very often but a couple times a day. I expect Nextcloud does that and Plex checks the library or something.
I hope all my info you need for some tips is there.... if not, let me know what else you need!
Thanks for any tips or comments!