What RigForge's tuning buys you over stock XMRig. Every number here is measured on real hardware, mining
live, not synthetic --bench runs.
TL;DR: across two very different CPUs, RigForge's one-command tuning beats stock XMRig by +3.5% (desktop Ryzen 7800X3D) to +6.6% (48-core EPYC 7642) in hashrate, and +7.6% / +6.0% in efficiency (H/s per watt). On the EPYC it also matched an expert's hand-tuned config, and auto-dodged a CPU-specific landmine: a prefetch setting that halves RandomX there but wins on the X3D.
Each configuration runs as its own XMRig process mining to the live pool. After a warm-up to steady state, we sample the hashrate (XMRig's HTTP API, 60-second average) and CPU-package power (RAPL energy counter) over several-minute windows, repeated across rounds. RandomX is low-variance and both rigs were thermally steady, so the means are solid (hashrate within ~0.1%).
The baselines:
- Stock XMRig: upstream
./xmrigon a fresh box: no explicit HugePages, prefetcher MSRs at firmware default, default governor. Transparent HugePages stay at Ubuntu'smadvisedefault, as a real user would have. - RigForge:
setup's kernel work (2 MB + 1 GB HugePages, the per-family MSR prefetcher preset,performancegovernor) plus the winning knobs from a full livetune.
| CPU | AMD Ryzen 7 7800X3D — 8C/16T, 96 MiB L3 (V-Cache), 5050 MHz boost, AVX-512 |
| RAM | 2 × 16 GB G.Skill DDR5-6000 (EXPO, dual-channel) |
| OS / algo | Ubuntu 24.04, kernel 6.8 · live Monero rx/0 |
| Configuration | Hashrate (H/s) | Power (W) | Efficiency (H/s per W) |
|---|---|---|---|
| Stock XMRig (no tuning) | 10,416 | 86.8 | 120.1 |
| RigForge — system tuning only | 10,756 | 83.6 | 128.7 |
| RigForge — tuned (performance) | 10,779 | 83.5 | 129.2 |
| RigForge — tuned (efficiency) | 10,779 | 83.5 | 129.2 |
| Stock → tuned | +3.5% | −3.8% | +7.6% |
Stock XMRig here burns more watts for less work. Without HugePages the CPU stalls on memory, drawing ~87 W to produce fewer hashes; tuned is faster and cooler. Performance and efficiency tuning landed on the same config: RigForge measured the power and found this chip pins ~84 W in any all-core setup, so there's no hashrate-for-watts trade-off to make, and it didn't invent one.
This box was already running a hand-tuned miner (the worker an operator had configured for this EPYC by hand) at 36,860 H/s. So it's not just "RigForge vs naive XMRig"; it's RigForge's one-command auto-tune against a human who tuned it themselves.
| CPU | AMD EPYC 7642 — 48C/96T, 256 MiB L3, 4 NUMA nodes, 2300 MHz |
| RAM / OS / algo | 62 GB · Ubuntu 24.04, kernel 6.8 · live Monero rx/0 |
| Configuration | Hashrate (H/s) | Power (W) | Efficiency (H/s per W) |
|---|---|---|---|
| Stock XMRig (no tuning) | 34,599 | 228.4 | 151.5 |
| Expert hand-tuned worker (XMRig 6.25) | 36,860 | 230.2 | 160.1 |
| RigForge — tuned (XMRig 6.26) | 36,866 | 229.5 | 160.6 |
| Stock → RigForge | +6.6% | ~flat | +6.0% |
- RigForge matched the human expert (within 0.02%), and did it with a newer XMRig (6.26 vs 6.25),
cpu.yieldoff (the expert left it on), and 5× fewer HugePages (266 vs 1,280 reserved, both hitting 100%): the same result with ~2 GB less RAM tied up. - The auto-tune dodged a landmine. On this EPYC, prefetch mode 2 halves the hashrate (~17,900 H/s), the exact opposite of the 7800X3D, where mode 2 is the winner. A fixed "golden profile" would get one of these two chips badly wrong; the per-CPU live tune measured it and stayed on the right mode for each.
- The HugePages win is bigger here (+6.6% vs the X3D's +3.5%): a 4-NUMA EPYC with a per-node dataset leans much harder on huge pages than a single-die desktop chip. Efficiency and performance tuning again converged (power ~230 W in any config).
- Two CPUs, two systems, and RandomX gains vary a lot. A desktop X3D and a 48-core EPYC already differ by more than 3× in raw hashrate; your CPU, RAM speed, NUMA layout, and kernel all matter. Treat the percentages as illustrative, not a guarantee.
- Modern kernels narrow the stock gap. Ubuntu 24.04's Transparent HugePages (
madvise) back some of even the "stock" allocation with 2 MB pages, so the stock baseline is closer to tuned than on an older kernel or with THP off. Don't expect the 20–30% some older write-ups quote. setupdoes the heavy lifting;tunerefines. Most of the win is the system tuning; the knob search confirms you're at the optimum (and, as the EPYC shows, keeps you off the landmines) rather than adding a big jump on top.
# bare baseline: stock upstream XMRig, no system tuning
./xmrig -o <pool> -u <wallet> # no HugePages reserved, MSRs default
# RigForge: one command does the setup + tuning
sudo ./rigforge.sh # build + HugePages + MSR + governor + service
sudo ./rigforge.sh tune --now --long # full live tune (or just let setup's defaults ride)
sudo ./rigforge.sh doctor # confirms HugePages 100%, MSR applied, governor, clocks