RandomX, KawPow, CryptoNight and GhostRider unified CPU/GPU miner and RandomX benchmark
Find a file
2018-10-19 10:19:18 +07:00
cmake #768 Fixed build error with MSVC 2015 and enabled ASM code. 2018-10-02 17:50:19 +03:00
doc Update ALGORITHMS.md 2018-07-29 19:23:55 +07:00
res v2.6.1-dev 2018-05-03 04:12:53 +07:00
src v2.8.3 2018-10-19 09:56:28 +07:00
.gitignore Initial libuv support build. 2017-06-04 20:52:21 +03:00
CHANGELOG.md Update CHANGELOG.md 2018-10-19 09:59:14 +07:00
CMakeLists.txt Implemented "asm" option. 2018-09-24 14:19:26 +03:00
LICENSE Initial import. 2017-04-15 09:02:08 +03:00
README.md Update README.md 2018-10-19 10:19:18 +07:00

XMRig

⚠️ Monero changed PoW algorithm on October 18, all miners and proxy should be updated to v2.8+ ⚠️

Github All Releases GitHub release GitHub Release Date GitHub license GitHub stars GitHub forks

XMRig is a high performance Monero (XMR) CPU miner, with official support for Windows. Originally based on cpuminer-multi with heavy optimizations/rewrites and removing a lot of legacy code, since version 1.0.0 completely rewritten from scratch on C++.

Table of contents

Features

  • High performance.
  • Official Windows support.
  • Small Windows executable, without dependencies.
  • x86/x64 support.
  • Support for backup (failover) mining server.
  • keepalived support.
  • Command line options compatible with cpuminer.
  • CryptoNight-Lite support for AEON.
  • Smart automatic CPU configuration.
  • Nicehash support
  • It's open source software.

Download

Usage

Use config.xmrig.com to generate, edit or share configurations.

Options

  -a, --algo=ALGO          specify the algorithm to use
                             cryptonight
                             cryptonight-lite
                             cryptonight-heavy
  -o, --url=URL            URL of mining server
  -O, --userpass=U:P       username:password pair for mining server
  -u, --user=USERNAME      username for mining server
  -p, --pass=PASSWORD      password for mining server
      --rig-id=ID          rig identifier for pool-side statistics (needs pool support)
  -t, --threads=N          number of miner threads
  -v, --av=N               algorithm variation, 0 auto select
  -k, --keepalive          send keepalived packet for prevent timeout (needs pool support)
      --nicehash           enable nicehash.com support
      --tls                enable SSL/TLS support (needs pool support)
      --tls-fingerprint=F  pool TLS certificate fingerprint, if set enable strict certificate pinning
  -r, --retries=N          number of times to retry before switch to backup server (default: 5)
  -R, --retry-pause=N      time to pause between retries (default: 5)
      --cpu-affinity       set process affinity to CPU core(s), mask 0x3 for cores 0 and 1
      --cpu-priority       set process priority (0 idle, 2 normal to 5 highest)
      --no-huge-pages      disable huge pages support
      --no-color           disable colored output
      --variant            algorithm PoW variant
      --donate-level=N     donate level, default 5% (5 minutes in 100 minutes)
      --user-agent         set custom user-agent string for pool
  -B, --background         run the miner in the background
  -c, --config=FILE        load a JSON-format configuration file
  -l, --log-file=FILE      log all output to a file
  -S, --syslog             use system log for output messages
      --max-cpu-usage=N    maximum CPU usage for automatic threads mode (default 75)
      --safe               safe adjust threads and av settings for current CPU
      --asm=ASM            ASM code for cn/2, possible values: auto, none, intel, ryzen.
      --print-time=N       print hashrate report every N seconds
      --api-port=N         port for the miner API
      --api-access-token=T access token for API
      --api-worker-id=ID   custom worker-id for API
      --api-id=ID          custom instance ID for API
      --api-ipv6           enable IPv6 support for API
      --api-no-restricted  enable full remote access (only if API token set)
      --dry-run            test configuration and exit
  -h, --help               display this help and exit
  -V, --version            output version information and exit

Also you can use configuration via config file, default name config.json. Some options available only via config file: autosave, hw-aes. watch option currently not implemented in miners only in proxy.

Algorithm variations

  • av option used for automatic and simple threads mode (when you specify only threads count).
  • For advanced threads mode each thread configured individually and av option not used.
av Hashes per round Hardware AES
1 1 (Single) yes
2 2 (Double) yes
3 1 (Single) no
4 2 (Double) no
5 3 (Triple) yes
6 4 (Quard) yes
7 5 (Penta) yes
8 3 (Triple) no
9 4 (Quard) no
10 5 (Penta) no

Common Issues

HUGE PAGES unavailable

  • Run XMRig as Administrator.
  • Since version 0.8.0 XMRig automatically enables SeLockMemoryPrivilege for current user, but reboot or sign out still required. Manual instruction.

Other information

  • No HTTP support, only stratum protocol support.
  • Default donation 5% (5 minutes in 100 minutes) can be reduced to 1% via option donate-level.

CPU mining performance

  • Intel i7-7700 - 307 H/s (4 threads)
  • AMD Ryzen 7 1700X - 560 H/s (8 threads)

Please note performance is highly dependent on system load. The numbers above are obtained on an idle system. Tasks heavily using a processor cache, such as video playback, can greatly degrade hashrate. Optimal number of threads depends on the size of the L3 cache of a processor, 1 thread requires 2 MB of cache.

Maximum performance checklist

  • Idle operating system.
  • Do not exceed optimal thread count.
  • Use modern CPUs with AES-NI instruction set.
  • Try setup optimal cpu affinity.
  • Enable fast memory (Large/Huge pages).

Donations

  • XMR: 48edfHu7V9Z84YzzMa6fUueoELZ9ZRXq9VetWzYGzKt52XU5xvqgzYnDK9URnRoJMk1j8nLwEVsaSWJ4fhdUyZijBGUicoD
  • BTC: 1P7ujsXeX7GxQwHNnJsRMgAdNkFZmNVqJT

Release checksums

SHA-256

365198ed4f1205c42fa448d41c9088d3dea6bff43173c5e870e8bec4631c3a7d xmrig-2.8.3-xenial-amd64.tar.gz/xmrig-2.8.3/xmrig
77b235244eea7eab72c420c3575bc6c32eb83061d90b84addb187257c9819be7 xmrig-2.8.3-xenial-amd64.tar.gz/xmrig-2.8.3/xmrig-notls
586b81e455ed0aa7623507b0307ba34afdc2ff3494a822cbf1fcc0c1a86ac974 xmrig-2.8.3-gcc-win32.zip/xmrig.exe
2d35980542b603e02832c774ce0d0bc22e269f066bcdff20a919dcbd23e2ef2a xmrig-2.8.3-gcc-win32.zip/xmrig-notls.exe
0a638249271f3a7d7ad87643a1fa250cc21b9871dca951d15c7c214346cb02aa xmrig-2.8.3-gcc-win64.zip/xmrig.exe
0f9d05c96d2268f1cf3e2c120ad94e440a730e753efa2ae8cbc9ef4567b4da03 xmrig-2.8.3-gcc-win64.zip/xmrig-notls.exe
19600aead9ebc509db57538e5ace0a30604708c051b34f81c0bdc1b587624434 xmrig-2.8.3-msvc-win64.zip/xmrig.exe
b9380c58a863488c8d9d138bb32a92b5ab3bb7b4e614e8caa85239cbb2ca3c8b xmrig-2.8.3-msvc-win64.zip/xmrig-notls.exe

Contacts