Why is my XMRig hashrate 0 H/s?
XMRig shows 0 H/s when it is not calculating hashes yet, or when its mining threads have stopped. A short pause during startup can be normal, but a steady zero means you should check the startup messages, pool connection, and CPU settings before changing anything else.
First, check where you see the zero
Your hashrate is the number of mining calculations your computer performs each second. H/s means “hashes per second.”
If XMRig itself shows zero, the problem is usually local: it has not finished starting, has no mining work, or cannot run its mining threads.
If only your pool’s website shows zero, XMRig may already be working. A pool combines work from many miners and estimates your contribution from shares, which are submitted proofs of work. Its dashboard can take time to update, especially with a slow CPU.
Check XMRig’s console for:
- A nonzero CPU speed reading.
- “Accepted” share messages.
- Connection errors or rejected shares.
Accepted shares mean the pool is receiving your work. Do not restart a working miner just because its dashboard briefly shows zero.
Check whether RandomX has finished starting
Monero uses RandomX, a mining algorithm designed to favor CPUs. XMRig must prepare memory before mining can begin, so an initial zero does not necessarily mean something is broken.
Read the messages immediately above the speed report. Look for dataset initialization, memory allocation errors, or a CPU “READY” message.
RandomX fast mode uses a dataset of about 2,080 MB, plus cache and other working memory. Your computer also needs enough memory for its operating system and other programs.
Try these steps:
- Close memory-heavy applications.
- Give initialization time to finish.
- Check whether your operating system is stopping XMRig because memory is exhausted.
RandomX light mode uses a 256 MB cache instead of the large dataset, but it is much slower. Missing huge pages, a feature that lets software use larger memory blocks, usually reduces speed rather than causing zero by itself.
Make sure your pool is sending work
XMRig needs a successful pool connection and a mining job before it can start useful work. Look for messages such as “new job,” or errors mentioning timeouts, login failures, DNS, or TLS.
DNS turns a pool name into a network address. TLS encrypts your connection.
Check that:
- The pool address and port match the pool’s instructions.
- Your wallet address and any required login details are correct.
- TLS is enabled only when the selected port expects it.
- Your firewall permits the connection.
A connection alone is not enough if login fails or no job arrives. Follow the specific error message rather than randomly switching settings. Never enter your wallet’s recovery words or private keys into mining software.
Check your CPU settings and pauses
Confirm that CPU mining is enabled in your configuration. A disabled CPU backend, unusable thread settings, or an active pause can leave XMRig at zero.
Check for battery or user-activity pause settings, and try XMRig’s automatic CPU configuration if you previously customized threads. RandomX benefits from about 2 MB of L3 cache per mining thread; choosing too many threads can hurt performance.
If security software blocks XMRig, verify that you obtained a genuine release before allowing it. Do not disable your protection broadly.
The bottom line
Read XMRig’s console from startup onward. Find whether it reaches CPU readiness, receives a pool job, and reports local speed. If it stays at zero, save the first error and nearby log lines—they usually reveal the next step.
