:warning: Monero will change PoW algorithm on October 18, all miners and proxy should be updated to v2.8+ :warning:
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++.
git clone https://github.com/xmrig/xmrig.git
:hammer: Build instructions.Use config.xmrig.com to generate, edit or share configurations.
-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.
av
option used for automatic and simple threads mode (when you specify only threads count).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 |
donate-level
.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.
CNv8 integrated two uncommonly used instructions (64 bit integer square root, 64 bit integer divide) that leverage unique hardware in specific x86 CPUs. POWER deemphasised those two rarely used integer square root / integer divide instructions that are key for CNv8 performance, focusing more on improving performance for other areas of the core design. Unfortunately a more balanced CNv8 algorithm, testing other parts of the CPU in addition to these two instructions, would have been a better choice. As it stands Monero requires a specific type of ASIC (Core i / Xeon / Zen CPU) for maximum performance by design. These CPUs are owner-hostile and present serious risks in the form of the ME and PSP vendor DRM systems.
If it is desired to increase hashrate back to CNv7 levels at the expense of increased electrical power (same as GPU mining), this can be accomplished by editing the WoF tables to maintain boost even at the higher logic utilization CNv8 produces. Note that this is technically a form of overclocking, and as such thermals need to be monitored for CPU, mainboard, and VRMs in addition to watching for system instability.
SMT4, 2 threads per core, power save == 2 (4 threads per chiplet)
SMT4, 1 thread per core, power save == 2 (2 threads per chiplet)
48edfHu7V9Z84YzzMa6fUueoELZ9ZRXq9VetWzYGzKt52XU5xvqgzYnDK9URnRoJMk1j8nLwEVsaSWJ4fhdUyZijBGUicoD
1P7ujsXeX7GxQwHNnJsRMgAdNkFZmNVqJT
458isHDaTqAStk6pFHrvMWEdXgGFQNSsk4g4kxeHF8pYSmTuCAnf3d17S5hDowk1vT8W5uKSqRSyHhBmqeAShi4iN8tnWSt