Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Reduce power consumption with powertop

Featured Replies

23 hours ago, NCM said:

Going to try ubuntu to see what I get, any suggestions in the interim?

As my post above indicate, I'm also struggling to optimize power consumption in Unraid. I'd be curious to see how your setup fares during idle in a vanilla Debian or Ubuntu Server install.

  • Replies 1.2k
  • Views 643.9k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • genesisdoeswhatnintendont
    genesisdoeswhatnintendont

    Good news everyone! I managed to get C10 pkg C-State (previously I get no higher than C3) on Asrock LGA1700 mobo and you can too. Yay!   My setup is:   Motherboard: Asroc

  • I added a warning:   And a further explanation to the initial post:

  • TheLinuxGuy
    TheLinuxGuy

    Yeah I faced problems with proxmox GUI installer; I had to do CTRL+ALT+F2 to get console then add some forced configuration override to properly detect the iGPU. Here's the guide for the error (e

Posted Images

21 hours ago, TOMillr-old said:

As my post above indicate, I'm also struggling to optimize power consumption in Unraid. I'd be curious to see how your setup fares during idle in a vanilla Debian or Ubuntu Server install.

I got down to about 20-22W (still with I340 and RTL8125 disabled), not much gain and could be partially related to being completely stripped down vs probably still having Unraid web interface up etc. If I jumper my power supply it's a baseline 4.5W so potentially 10W or more of my 25W power from the wall could be power supply losses. I have a smaller and newer power supply in route that should be an improvement but realistically even though it is 80+ Gold 250W the 10% load efficiency is 76%. I suspect my normal load will be ~40-50W even if I get C10, which is 90% efficient on this PWS so overall this is satisfactory.

@pOpYRaid would you mind sharing what CPU you have? I have an i5-14600 with a Gigabyte H610i mobo and Pure Power 12 M 550W Gold power supply. I also purchased a new I226-V NIC to replace the onboard I219. Without the NIC installed, I can hit C8 and see power draw lows of 18W. With it installed, I can only hit C6 and typically will see lows in the 22-24W range. Not a huge penalty but was curious if you had any advice. I've enabled Native ASPM, confirmed that L1 is enabled across all peripherals and manually set the C-State limit to C10. I'm just itching for that sub 20W range! Appreciate it

On 4/12/2025 at 6:35 AM, pOpYRaid said:


Guys, i have found a settings combination which is stable for my setup and saves another ~5 Watt.
I am down to ~15.8 Watt (avg on idle) now with the I226-V and an stable 2,5 GBE speed.
With no montior, disks spun down, not accessing webgui, nvme cache running.
Tests performed with iperf3 and large SMB file copy to cache.
On all tests it has a stable 2,5 GBE connection with no speed issues.
 

The key was to enable "PEG ASPM" again, set the max cstate in the BIOS to C10 (this disables ASPM Control in BIOS completely).
Than enable "Native ASPM" in BIOS, this gives ASPM control to linux and you can enable/disable ASPM per device basis.


Now you can find the pcie bus address of your ethernet adapter with the command:
 

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

 

In my case it's 01:00.0.

Look in /sys/bus/pci/devices/ directory for a similar sounding directory, it's 0000:01:00 in my case.
do an:

ls /sys/bus/pci/devices/0000:01:00.0/link/

 

In there are the available ASPM modes, in my case it's just one file named:

l1_aspm

 

You can now manually disable/enable a ASPM mode for a particular device by writing into this file:

 

Enable ASPM:

echo 1 > /sys/bus/pci/devices/0000:01:00.0/link/l1_aspm

 

Disable ASPM:

echo 0 > /sys/bus/pci/devices/0000:01:00.0/link/l1_aspm

 

After writing to this file, check your changes by the lspci command from above.

It should say "disabled" for this particular device (in my case also for the PCIe controller because my NIC card depends on it).
 

Here is the output after i disabled ASPM for just the I226-V NIC:

 

root@MediaServer:~# lspci -vv | awk '/ASPM/{print $0}' RS= | grep --color -P '(^[a-z0-9:.]+|ASPM )'
00:01.0 PCI bridge: Intel Corporation 12th Gen Core Processor PCI Express x16 Controller #1 (rev 05) (prog-if 00 [Normal decode])
                LnkCap: Port #2, Speed 16GT/s, Width x16, ASPM L1, Exit Latency L1 <16us
                LnkCtl: ASPM Disabled; RCB 64 bytes, LnkDisable- CommClk+
00:1c.0 PCI bridge: Intel Corporation Alder Lake-S PCH PCI Express Root Port #1 (rev 11) (prog-if 00 [Normal decode])
                LnkCap: Port #1, Speed 8GT/s, Width x1, ASPM L0s L1, Exit Latency L0s <1us, L1 <4us
                LnkCtl: ASPM L0s L1 Enabled; RCB 64 bytes, LnkDisable- CommClk-
00:1c.4 PCI bridge: Intel Corporation Alder Lake-S PCH PCI Express Root Port #5 (rev 11) (prog-if 00 [Normal decode])
                LnkCap: Port #5, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 <64us
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, LnkDisable- CommClk+
01:00.0 Ethernet controller: Intel Corporation Ethernet Controller I226-V (rev 04)
                LnkCap: Port #0, Speed 5GT/s, Width x1, ASPM L1, Exit Latency L1 <4us
                LnkCtl: ASPM Disabled; RCB 64 bytes, LnkDisable- CommClk+
03:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd NVMe SSD Controller 980 (DRAM-less) (prog-if 02 [NVM Express])
                LnkCap: Port #0, Speed 8GT/s, Width x4, ASPM L1, Exit Latency L1 <64us
                LnkCtl: ASPM L1 Enabled; RCB 64 bytes, LnkDisable- CommClk+
root@MediaServer:~#

 

As a bonus, if you want to have it persitent (after boot) add the following to your /boot/config/go file:

# disable ASPM for I226-V, when this is enabled the network speed drops often to <300 MB/s (instead of full performance of 2500 MB/s)
# with this workaround the system can reaches at least c-state c3 (~15,8 Watt) and have full ethernet performance
echo 0 > /sys/bus/pci/devices/0000:01:00.0/link/l1_aspm

 

Here are my powertop stats:
 



           Pkg(HW)  |            Core(HW) |            CPU(OS) 0   CPU(OS) 1
                    |                     | C0 active   0.7%        6.6%
                    |                     | POLL        0.0%    0.1 ms  0.0%    0.0 ms
                    |                     | C1E         2.0%    0.2 ms  3.6%    0.1 ms
C2 (pc2)    5.3%    |                     |
C3 (pc3)   47.0%    | C3 (cc3)    0.0%    |
C6 (pc6)    0.0%    | C6 (cc6)    6.5%    | C6          4.3%    0.9 ms  9.1%    0.9 ms
C7 (pc7)    0.0%    | C7 (cc7)   64.8%    |
C8 (pc8)    0.0%    |                     | C8          1.0%    0.9 ms  0.9%    0.9 ms
C9 (pc9)    0.0%    |                     |
C10 (pc10)  0.0%    |                     |


I am happy with the result.

Hope this helps someone.
pOpY

 

 

Edited by obowan

Hey guys. I've build up my new server and I'm not really satisfied with the results. My setup

 

Mainboard: asus prime b760m-a-csm

CPU: I3-1400

CPU-Fan: Noctua NH-L9i-17xx

Ram: 4 x 16 GB Viper Patriot Venom

ASM1166 6 Port on PCIE

Storage:

2 x NVME

Patriot Memory Viper VP4300 2TB (ZFS Mirror)

2 x SSD WD red 2TB (ZFS Mirror)

2 x 3.5 HDD Seagate Exos X 18 16Gb

Chassis: Sagittarius 8 bay

Chassis Fan: Arctic P12 PWM 120mm

Peripherals: Sonoff Zigbee Dongle E

 

Powertop auto tune (all good).

Realtek driver and modprob file gets the r8125 2.5 Gigabit LAN to high ASPM states.

 

I reach C10 with this setup.

See screenshot, while Docker is running (6 Containers), VM off, disks spun down.

 

The consumption is around 20-22 Watt. (Measured with a Tasmota Power Plug)

 

The server without storage consumes around 10W. Maybe 8-9 when I disable keyboard, etc.

 

Server with a Home assistant VM is around 30-36 Watt. Pretty high and the reason, why I'm running HA in docker right now.

 

My feeling is, that overall the power consumption could be lower.

 

I also see some strange peaks in power consumption, as every 5 seconds or so, the power consumption rises by 10-15 Watt for  a sec and then return to to around 20 again. Doesn't seem to be the CPU. In the main page I can see that each NVME (mirror) has suddenly a write activity and jumps to 6.5W (each).

 

I would be happy about your feedbacks, if this is normal or what I could do to find out, how to lower the power consumption and also get rid of these heavy spikes. 

 

Screenshot_20250516_025804_Termux.jpg

Hello,

I have an Intel 13500, configured as best power efficiency in unraid, and the HDDs stop spinning when in use.

I have several Dockers (approximately 10) and a virtual machine with HomeAssistant.

The server is:

Intel 13500
ASrock Z790 ITX TB4
64GB DDR5 6600MHz Corsair
2 x SN850X WD, 1TB each for cache.
ASM1166
2 x Toshiba N300 8TB HDD

I've run: powertop --auto-tune &> /dev/null

In the BIOS, I'm configured to enter Cstates, but I can't see any very high Cstates... I've attached screenshots.

What could be happening?

 

 

Screenshot_1.png

Screenshot_2.png

Screenshot_3.png

 

 

I have stopped all the dockers and virtual machines that I have, and C2 goes to 80% pkg, but nothing more than that, I am not able to get a deeper C state, why?

 

I also have a problem, since I activated something related to PCIE (I don't remember if it was ASPM mode or reactivate from PCIE) is that when I turn off the server, it automatically turns on by itself (it has been happening to me since I installed X710 Intel.


Also perform the following steps:

Bios I modified with AMISCE 5.5:

Change to Enabled(0x1)

.\SCEWIN_64.exe /i /lang 'en-US' /ms "Low Power S0 Idle Capability" /qv 0x1 /cpwd YOUR-BIOS-ADMIN-PASSWORD /hb

Change to Disabled (0x0)

.\SCEWIN_64.exe /i /lang 'en-US' /ms "Native ASPM" /qv 0x0 /cpwd YOUR-BIOS-ADMIN-PASSWORD /hb

.\SCEWIN_64.exe /i /lang 'en-US' /ms "Discrete Bluetooth Interface" /qv 0x0 /cpwd YOUR-BIOS-ADMIN-PASSWORD /hb

Edited by Nozle

On 5/8/2025 at 5:45 PM, TOMillr-old said:

Tried the final version of 7.1 and power consumption during idle is still way worse compared to OMV, Debian or even TrueNAS scale.

 

In OMV, even with some containers like Plex running, power consumption is still 22% lower than a clean install of Unraid 7.1 with nothing running at all. ☹️ What's idle Unraid doing to justify the additional power need?

I still haven't found a way to match the low power consumption seen in OMV, Debian or TrueNAS Scale with version 7.1 of Unraid. I'm using the exact same bios settings, all devices have ASPM enabled, scaling_governor and energy_performance_preference are also the same. Yet Unraid never goes below c8 while it remains on c10.

Are there maybe any processes Unraid is running in idle that might explain the additional power draw?

Hi, I've been scrolling through the pages, but I can't get

any C states here.
I think this might be because "ASPM not supported" appears on the PCI bridge. Could that be the reason?

image.png

image.png

Thanks in advance!

  • 1 month later...

While browsing I found this link about ASPM troubleshooting : https://z8.re/blog/aspm.html

Very interesting to read for multiple reasons :

  • The author has similar hardware that we use, he's an ex-user of unRAID going to TrueNAS.

  • He shows the logical steps for troubleshooting

  • Lots of details for each steps

On 1/22/2024 at 4:28 PM, KarlMeyer said:

Install nerdtools from the app store, scroll down until you find powertop & toggle it to on & click save at the bottom of the page. This will install powertop every time you start up your unraid machine.

This post should be pinned at the top of the thread...

2025-07-09_140624.jpg

Please help me understand these results: I see that the individual cores can reach C7 but the package does not show c-state %age.

Is this a bug?

Ok I think I've found the culprit: in my BIOS there is a line that says "Package C state limit" which was set to C0/C1. I have changed this to "Auto" and now I see some values under "Pkg (HW)" in Powertop.

On 7/8/2025 at 5:25 AM, googleg said:

This post should be pinned at the top of the thread...

Nerdtools is deprecated

oh, it is deprecated? Why?

Unmaintained

  • 2 weeks later...

Thank you @mgutt for your detailed instructions.

I have a Supermicro x10sl7-f that was using 38watts of power with the drives spun down and over 60 when in use.

[E3 1231 v3 Xeon]

I enabled power top and learnt that the onboard SAS controller was preventing it from going past c3.

Set the jumpers on the motherboard to disabled for the SAS, lan 2 and VGA output.

Disabled PCIe in bios along with powertop - auto-tun

My server now goes into c7 with a 20w idle. 5 x 3.5" and 1 ssd spun down.

4 WD 3.5"'s running draws around 35w in basic use.

Has anyone else managed to get a below 20w idle on this board.

  • 2 weeks later...

Is there a way to disable wake-on-lan for my two networks adapters enp1s0 and enp2s0 together with running the --auto-tune command? Currently, I run --auto-tune on startup but have to manually go in and disable WOL to get the highest energy savings.

22 minutes ago, TOMillr-old said:

Is there a way to disable wake-on-lan for my two networks adapters enp1s0 and enp2s0 together with running the --auto-tune command? Currently, I run --auto-tune on startup but have to manually go in and disable WOL to get the highest energy savings.

its literally in the first post

for i in /sys/class/net/eth?; do ethtool -s  $(basename $i) wol d; done

you just need to change it to your enp scheme

Is anyone running a MSI branded Z790 motherboard? I used to be able to hit C10 on my old 10th gen setup but after switching equipment over to this new board + 12th gen CPU, I can only hit C3 max. I'm not using any of the CPU enabled slots, all chipset connected ones for pcie and nvme.

All the ASPM states have been enabled and lspci doesn't show anything out of the ordinary. I tried running SCEWIN to see if the "Low Power S0 Idle Capability" hidden BIOS option was available but it doesn't show up when exporting the settings. Any help would be appreciated. It's been driving me crazy.

C3_States.PNG

C3_aspm.png

Are the instructions for installing Powertop at the beginning of this long thread still valid for Unraid 7

(7.1.4)? Is the rest of the information in this thread also still valid? TIA.

Edited by Cruzerman

Another data point for everyone.

AM5 Ryzen 7 8700G

Asrock B650M-HDV/M.2
CORSAIR VENGEANCE DDR5 2x32GB 6000mhz running at 4800.
90mm Fan

Kingston DTSE9 USB Stick
HDPlex 250w GaN AIO PSU

Booted into unraid, opened powertop, set all to good, turned the screen off, unplugged USBs - 12w idle. Powertop only shows C3 for the pkg?

Same PC running windows and a browser from a 970 Evo NVME at 4k 120hz is 22watts.

Edited by Napoleon

Do USB sticks make much difference to pkg state? On the C246M it only goes to C8, even with everything bar the usb stick removed and turned off in the bios.

The above AMD system was measured with a power meter. The C246 previously was using the UPS, I've since worked out that only measures in increments of 7w. It was saying 21w most of the time idled down, but the same system on the power meter shows 30w.

This is 15x 3.5" 2x 2.5", 3x 2.5" SSDs, C246M, Xeon E-2186G, 64GB ECC running on an RM750X. 22% in C8 pkg.

  • 2 weeks later...

I recognized that my system can reach C10, if the NVME Cache is connected to the chipset instead of directly to the CPU. I do not really understand why, but if the NVME is connected directly to the CPU i only reach C6.
Does anyone know why this happens ?

Unluckily the bottom slot has no additional cooling.
To be honest the power difference is not that big between C6 and C10 in my case.

System:
CPU: 12600K
Mainboard: MSI B760I Edge Wifi
RAM: 32GB DDR5

image.png

On 8/11/2025 at 2:46 PM, bpham said:

Is anyone running a MSI branded Z790 motherboard? I used to be able to hit C10 on my old 10th gen setup but after switching equipment over to this new board + 12th gen CPU, I can only hit C3 max. I'm not using any of the CPU enabled slots, all chipset connected ones for pcie and nvme.

All the ASPM states have been enabled and lspci doesn't show anything out of the ordinary. I tried running SCEWIN to see if the "Low Power S0 Idle Capability" hidden BIOS option was available but it doesn't show up when exporting the settings. Any help would be appreciated. It's been driving me crazy.

C3_States.PNG

C3_aspm.png

I am in the same position,

i7 12700K

MSI Z690 carbon

32GB corsair dominator DDR5 RAM

I have chosen all the correct BIOS settings, no ASPM errors, turbo boost off, powersave plan in runaid, C states selected correctly in the bios, powertop all tuned fine but never get below C3. Even with only the motherboard and CPU and cooler, onboard ethernet disabled I still idle at 30-40w...it's crazy.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.