Why does XMRig show huge pages at less than 100 percent?
XMRig shows huge pages below 100% when it cannot get all the large memory pages it requested. Mining usually still works, but some memory uses ordinary, smaller pages instead, which can reduce your mining speed.
What that percentage means
Your operating system divides memory into chunks called pages. Huge pages are larger chunks that let your processor handle some memory-heavy work with less overhead.
Monero’s mining algorithm, RandomX, benefits from them. XMRig tries to use huge pages for its working memory, including memory used by its mining threads—the separate workers running on your processor.
The percentage tells you how much of a particular allocation successfully uses huge pages. It does not tell you:
- How much of your computer’s total memory is available.
- What percentage of your processor XMRig is using.
- What percentage of your mining rewards you will receive.
Check which startup line contains the percentage. RandomX memory and CPU worker memory can have separate allocation reports. One line showing 100% does not necessarily mean every allocation succeeded.
Why only some huge pages are available
A partial result usually comes down to one of these issues:
- Too few huge pages are reserved. On Linux, the reserved supply may cover some of XMRig’s needs but not all of them.
- Memory is fragmented. You may have plenty of free memory overall, but it is scattered into small pieces. The operating system cannot always combine those pieces into the larger blocks needed.
- Another program is using them. Another miner or memory-heavy application may already hold part of the available supply.
- Permissions or limits get in the way. Your account may lack permission to allocate or lock the required memory.
- Memory is unevenly available across processor regions. Some systems use NUMA, which groups processors with nearby memory. One region may have enough huge pages while another does not.
RandomX’s fast mode uses a dataset of about 2,080 MB, plus additional working memory. More mining threads—and, on some systems, extra dataset copies—can increase the allocation needed. Simply having that much free RAM does not guarantee success.
What you can do about it
First, stop any duplicate XMRig processes and close unnecessary memory-heavy programs. Restart XMRig and read the new startup messages.
Then check the settings for your operating system:
- Windows: XMRig needs the “Lock pages in memory” account permission. Running a trusted copy as administrator can let it configure this permission. Follow any restart message it prints; a Windows restart may be needed before the change takes effect.
- Linux: Check that enough huge pages are reserved and available. Also check account limits, container restrictions, and per-NUMA-region availability where applicable.
If fragmentation is the problem, restarting your computer and launching XMRig before other large applications often helps. Reducing the thread count can also show whether your current huge-page supply is too small.
Avoid blindly reserving most of your RAM. Reserved huge pages leave less memory available for ordinary applications.
The bottom line
Below 100% means XMRig obtained only partial huge-page coverage, not that mining has failed. Check the affected allocation, permissions, and available huge-page supply, then compare mining speed after each change. Reaching 100% helps memory access, but it does not promise a fixed speed increase or higher profits.
