# Reducing WRX80 Server Idle Power

> Source: <https://forum.level1techs.com/t/reducing-wrx80-server-idle-power/251518#post_8>
> Published: 2026-09-07 21:03:58+00:00

Hi Folks,

Longtime lurker first time poster.

I’ve spent the last few weeks trying to optimize idle power usage on my WRX80 server:

- ASRock WRX80D8-2T

- AMD Threadripper PRO 3995WX

- 1 TB 2933MT/s DDR4 RDIMM, 8×128 GB

- 5× AMD Radeon Pro W7900, 240GB VRAM

SW:

- Linux Mint 22.3 (debian)

- Kernel 6.17.0-23-generic

(All power draw figures measured via wall monitor)

At stock settings the server idles at around ~350W, during my primary workload (LLM inference via llama.cpp) the server hits about 700-800w power draw (non tensor parallel).

Based on my power costs and assuming I have 1 hour of inference per week, the monthly power costs for this machine alone is about $30 CAD. The bigger issue is 96% of the power cost is from idle draw which is not ideal. I’ve been looking into ways to reduce the idle power specifically and found that S3 sleep would be my best option:

- S3 Sleep (suspend to ram)

```
- This in theory is the best option, the machine can suspend when no activity is detected for x minutes, then when an inference request is received it can wake up, restore OS state from memory and inference 

- This allows for low idle power (suspend power cost) but fast interactivity (\~5-10 seconds to get back to ready to infernece stage)
```

However my board the ASRock WRX80D8-2T unfortunately does not support S3 sleep, the BIOS has an “S3 Support for 3DS RDIMM & LRDIMM” option but it seems despite enabling this S3 sleep is not functional:

$ cat /sys/power/mem_sleep

s2idle

When suspending with S2idle, power draw immediately spikes to 1000-1100W and stays like that until I unsuspend the system, not sure why that would be. Because of this I’ve investigated other ways to reduce idle cost, one sucess I had was auto suspending my 5 GPUs with runtime pm, with this the GPUs now suspend after 30 seconds of inactivity, which means the new idle power draw is ~100W, 3.5x the original number but still not as theoretically low as what S3 sleep would give me. This does mean when I go to use my gpus there is a slight delay where the GPUS need to wake up and reread model weights before I start seeing inference but this is generally > 10 seconds and is worth the 3x idle power draw.

My next option is S4 or Hibernate, I set a 1tb drive as my swap target and tested hibernate with:

echo test_resume | sudo tee /sys/power/disk

echo disk | sudo tee /sys/power/state

It failed at the AMDGPU freeze/quiesce stage. The screen/log showed errors like:

MES failed to respond to msg=REMOVE_QUEUE

failed to unmap legacy queue

suspend of IP block  failed -22

pci_pm_freeze(): amdgpu_pmops_freeze returns -22

PM: failed to quiesce async: error -22

PM: hibernation: Failed to load image, recovering.

Right now I remote power on and off my server via ipmitool whenever I need to use it/dont need to use it, server boot time is about 2:23, then I have my model of choice (Qwen3.5-397B IQ4_XS ~230GB) auto load via llama-swap, model load takes about 1:35. So the total time between power on and inference start is about ~4 minutes which makes it less usable for sporadic questions (as is my primary use) and when I’m on the go.

I’m hoping some of the incredibly knowledgeable folks here may have encountered a similar conundrum or even somehow hacked in S3 (I’ve seen that it has been done but its very buggy) and were able to get lower idle draw while still retaining somewhat fast “ready to go” times.

Any advice is appreciated greatly
