xmrig-auto-pause: add hysteresis to prevent stop/start thrashing

xmrig's RandomX pollutes the L3 cache, making other processes appear
~3-8% busier. With a single 5% threshold for both stopping and
resuming, the script oscillates: start xmrig -> cache pressure
inflates CPU -> stop xmrig -> CPU drops -> restart -> repeat.

Split into CPU_STOP_THRESHOLD (15%) and CPU_RESUME_THRESHOLD (5%).
The stop threshold sits above xmrig's indirect pressure, so only
genuine workloads trigger a pause. The resume threshold confirms the
system is truly idle before restarting.
This commit is contained in:
2026-04-06 20:33:58 -04:00
parent 738861fd53
commit d48f27701f
3 changed files with 38 additions and 15 deletions

View File

@@ -26,7 +26,8 @@ lib.mkIf config.services.xmrig.enable {
environment = {
POLL_INTERVAL = "3";
GRACE_PERIOD = "15";
CPU_THRESHOLD = "5";
CPU_STOP_THRESHOLD = "15";
CPU_RESUME_THRESHOLD = "5";
STARTUP_COOLDOWN = "10";
STATE_DIR = "/var/lib/xmrig-auto-pause";
};