Go to file
XMRig 668b23c5b0 Initial libuv support build. 2017-06-04 20:52:21 +03:00
algo Initial OS X support. 2017-05-26 23:17:12 +03:00
cmake Initial libuv support build. 2017-06-04 20:52:21 +03:00
compat/libcpuid Initial libuv support build. 2017-06-04 20:52:21 +03:00
crypto Much better software AES implementation (--av 4). 2017-04-19 10:03:40 +03:00
mac Huge pages support on OS X. 2017-05-27 10:34:42 +03:00
res Initial libuv support build. 2017-06-04 20:52:21 +03:00
src Initial libuv support build. 2017-06-04 20:52:21 +03:00
test * Implement --max-cpu-usage. 2017-05-10 19:38:35 +03:00
unix Fix. 2017-05-27 08:45:11 +03:00
utils Initial libuv support build. 2017-06-04 20:52:21 +03:00
win Initial libuv support build. 2017-06-04 20:52:21 +03:00
.gitignore Initial libuv support build. 2017-06-04 20:52:21 +03:00
CHANGELOG.md Update CHANGELOG.md 2017-05-26 09:07:45 +03:00
CMakeLists.txt Initial libuv support build. 2017-06-04 20:52:21 +03:00
LICENSE Initial import. 2017-04-15 09:02:08 +03:00
README.md Update README.md 2017-05-20 23:43:39 +03:00
compat.h Initial import. 2017-04-15 09:02:08 +03:00
cpu.c Workaround for AMD CPUs https://github.com/anrieff/libcpuid/issues/97 2017-05-24 18:50:24 +03:00
cpu.h * Implement --max-cpu-usage. 2017-05-10 19:38:35 +03:00
cpu_stub.c * Implement --max-cpu-usage. 2017-05-10 19:38:35 +03:00
elist.h Initial import. 2017-04-15 09:02:08 +03:00
memory.c Initial OS X support. 2017-05-26 23:17:12 +03:00
options.c Add "--nicehash" to help output. 2017-05-20 23:38:05 +03:00
options.h Initial test nicehash support. 2017-05-20 07:08:41 +03:00
persistent_memory.h Add memory to cryptonight_ctx. 2017-04-21 11:56:11 +03:00
stats.c Initial import. 2017-04-15 09:02:08 +03:00
stats.h Initial import. 2017-04-15 09:02:08 +03:00
stratum.c Initial OS X support. 2017-05-26 23:17:12 +03:00
stratum.h Optimize job_decode, support variable length blob and redume mutex lock 2017-04-22 13:19:33 +03:00
util.c Initial import. 2017-04-15 09:02:08 +03:00
util.h Initial import. 2017-04-15 09:02:08 +03:00
xmrig.c Workaround for AMD CPUs https://github.com/anrieff/libcpuid/issues/97 2017-05-24 18:50:24 +03:00
xmrig.h Initial import. 2017-04-15 09:02:08 +03:00

README.md

XMRig

XMRig is high performance Monero (XMR) CPU miner, with the official full Windows support. Based on cpuminer-multi with heavy optimizations/rewrites and removing a lot of legacy code.

Table of contents

Features

  • High performance (290+ H/s on i7 6700).
  • Official Windows support.
  • Small Windows executable, only 535 KB without dependencies.
  • 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

Basic example

xmrig.exe -o xmr-eu.dwarfpool.com:8005 -u YOUR_WALLET -p x -k

Options

  -a, --algo=ALGO       cryptonight (default) or cryptonight-lite
  -o, --url=URL         URL of mining server
  -b, --backup-url=URL  URL of backup 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
  -t, --threads=N       number of miner threads
  -v, --av=N            algorithm variation, 0 auto select
  -k, --keepalive       send keepalived for prevent timeout (need pool support)
  -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
      --no-color        disable colored output
      --donate-level=N  donate level, default 5% (5 minutes in 100 minutes)
  -B, --background      run the miner in the background
  -c, --config=FILE     load a JSON-format configuration file
      --max-cpu-usage=N maximum cpu usage for automatic threads mode (default 75)
      --safe            safe adjust threads and av settings for current cpu
      --nicehash        enable nicehash support
  -h, --help            display this help and exit
  -V, --version         output version information and exit

Algorithm variations

Since version 0.8.0.

  • --av=1 For CPUs with hardware AES.
  • --av=2 Lower power mode (double hash) of 1.
  • --av=3 Software AES implementation.
  • --av=4 Lower power mode (double hash) of 3.

Build

Ubuntu (Debian-based distros)

sudo apt-get install git build-essential cmake libcurl4-openssl-dev
git clone https://github.com/xmrig/xmrig.git
cd xmrig
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make

Windows

It's complicated, you need MSYS2, custom libcurl build, and of course CMake too.

Necessary MSYS2 packages:

pacman -Sy
pacman -S mingw-w64-x86_64-gcc
pacman -S make
pacman -S mingw-w64-x86_64-cmake
pacman -S mingw-w64-x86_64-pkg-config

Configure options for libcurl:

./configure --disable-shared --enable-optimize --enable-threaded-resolver --disable-libcurl-option --disable-ares --disable-rt --disable-ftp --disable-file --disable-ldap --disable-ldaps --disable-rtsp --disable-dict --disable-telnet --disable-tftp --disable-pop3 --disable-imap --disable-smb --disable-smtp --disable-gopher --disable-manual --disable-ipv6 --disable-sspi --disable-crypto-auth --disable-ntlm-wb --disable-tls-srp --disable-unix-sockets --without-zlib --without-winssl --without-ssl --without-libssh2 --without-nghttp2 --disable-cookies --without-ca-bundle --without-librtmp

CMake options:

cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCURL_INCLUDE_DIR="c:\<path>\curl-7.53.1\include" -DCURL_LIBRARY="c:\<path>\curl-7.53.1\lib\.libs"

Optional features

-DWITH_LIBCPUID=OFF Disable libcpuid. Auto configuration of CPU after this will be very limited. -DWITH_AEON=OFF Disable CryptoNight-Lite support.

Common Issues

HUGE PAGES unavailable

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

Other information

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

CPU mining performance

  • i7-6700 - 290+ H/s (4 threads, cpu affinity 0xAA)
  • Dual E5620 - 377 H/s (12 threads, cpu affinity 0xEEEE)

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 instructuon set.
  • Try setup optimal cpu affinity.
  • Enable fast memory (Large/Huge pages).

Donations

  • XMR: 48edfHu7V9Z84YzzMa6fUueoELZ9ZRXq9VetWzYGzKt52XU5xvqgzYnDK9URnRoJMk1j8nLwEVsaSWJ4fhdUyZijBGUicoD
  • BTC: 1P7ujsXeX7GxQwHNnJsRMgAdNkFZmNVqJT

Contacts