STH xmrig Monero Mining Docker Image

Patrick

Administrator
Staff member
Dec 21, 2010
12,009
4,991
113
I think many here will have seen that for the past few weeks I have been testing xmrig instead of Wolf's miner. You can check that thread for xmrig speeds and Monero Mining Performance for some Wolf's comparison data. Suffice to say that we are seeing some massive improvements with tying xmrig miners to NUMA nodes.

Out of that test, made a generic (with defaults) mining image for folks to use with Docker. This is a significant departure from our Wolf's based miners that were tied to specific pools.

Here is the xmrig launch line:
Code:
./xmrig -o stratum+tcp://$xmrpool:$startport -u $username -p $password -t $numthreads
Key here is that $xmrpool and $startport are the pool and ports for the mining pool you wish to use. They default to Dwarfpool's US mirror on port 8100. The reason for this is that #1 - I like dwarfpool after mining a few hundred XMR using them. #2 Port 8100 gives me the fewest rejected shares over time with xmrig across configurations.

$username can be set as an environment variable and should have your wallet ID as well as any additional information. E.g. for Dwarfpool you may want to name your miner and thusly use -e username=walletID.minerName

Using dwarfpool you will want to set an e-mail address with a docker -e password=yourEmail variable.

If you want to see launch instructions: How-to Guide - How to start mining Monero in Docker

Edit: Set your donation level for the miner (STH takes 0) using a flag -e donate=X where X is the amount you want to donate so 2 = 2% and 4 = 4%
 
Last edited:

Patrick

Administrator
Staff member
Dec 21, 2010
12,009
4,991
113
I think there is an error in your bash script @Patrick - 'servethehome/monero:xmrig' should read 'servethehome/monero_xmrig'.
You probably caught it just as I was updating. I changed the image to monero_xmrig from monero:xmrig to be more consistent. Took a few minutes to cascade changes through documentation. It should be correct if you refresh.
 

RBE

Member
Sep 5, 2017
60
34
18
Nice work @Patrick - I am seeing a 13% increase in hash rate using the new Docker image over just using xmrig by itself. The hash rate also seems much more consistent. Each E5-2660 V1 is currently producing 440H/s, with a variation of plus or minus 5H/s across the cluster's 48 CPUs.

Edit: Interestingly enough, there is a difference of 5H/s between the hash rate produced by NUMA node0 and NUMA node1 across all CPUs. The former is sitting at 445H/s, and the later at 335H/s. Go figure.
 
Last edited:
  • Like
Reactions: Patrick

Klee

Well-Known Member
Jun 2, 2016
1,285
393
83
I think many here will have seen that for the past few weeks I have been testing xmrig instead of Wolf's miner. You can check that thread for xmrig speeds and Monero Mining Performance for some Wolf's comparison data. Suffice to say that we are seeing some massive improvements with tying xmrig miners to NUMA nodes.

Out of that test, made a generic (with defaults) mining image for folks to use with Docker. This is a significant departure from our Wolf's based miners that were tied to specific pools.

Here is the xmrig launch line:
Code:
./xmrig -o stratum+tcp://$xmrpool:$startport -u $username -p $password -t $numthreads
Key here is that $xmrpool and $startport are the pool and ports for the mining pool you wish to use. They default to Dwarfpool's US mirror on port 8100. The reason for this is that #1 - I like dwarfpool after mining a few hundred XMR using them. #2 Port 8100 gives me the fewest rejected shares over time with xmrig across configurations.

$username can be set as an environment variable and should have your wallet ID as well as any additional information. E.g. for Dwarfpool you may want to name your miner and thusly use -e username=walletID.minerName

Using dwarfpool you will want to set an e-mail address with a docker -e password=yourEmail variable.

If you want to see launch instructions: How-to Guide - How to start mining Monero in Docker

Edit: Set your donation level for the miner (STH takes 0) using a flag -e donate=X where X is the amount you want to donate so 2 = 2% and 4 = 4%

Finally giving docker a try now.

That was easy enough.

Edit: Comparing my two dual E5-2665 v1 nodes the one running docker with xmrig is about ~20 - 23 H/s faster than the node running xmr-stak on bare metal.

Edit2: Installing to one of my E5-2660 v1 nodes next. It runs about ~11 - 13 H/s faster than the other node running xmr-stak.

Edit3: Installing to second E5-2665 v1 node.

Edit4: Installing to another E5-2660 v1 node.

Edit5: All nodes in my three open compute servers are mining via docker. I don't know why I did not do this before.

One thing I do to monitor the mining node, before I had a putty terminal logged into each node to watch the has rate, now I just log in to each node via putty and run htop and its real easy to see whats going on now.

Edit6: My Dual E5-2667 v3 es pc mines only about 20 H/s more than on xmr-stak using all 32 cores vs xmr-stak-cpu-dev using only 16 so its not worth it in this one use case.
 
Last edited:
  • Like
Reactions: Patrick

jims2321

Active Member
Jul 7, 2013
185
44
28
Patrick,

What is the -e command line to pass the -o stratum pool. I tend to use nicehash, but when I enter the following command line for the docker image, comes back with an 'invalid reference format.

docker run -itd -e -o stratum+tcp://cryptonight.usa.nicehash.com:3355 -e username=xxxxxxxx -e numthread=6 -e cpuset_cpus"18-23" servethehome/monero_xmrig

thanks,

Jim
 

jims2321

Active Member
Jul 7, 2013
185
44
28
Yep running docker on my three open compute servers now.

okay flipped my docker image to xmrig and it slower than xmr-cpu-stak on my hardware, where I was getting 820 h/s on xmr-stak-cpu, I get 782.4 on xmrig. Soooo... back to xmr-stak-cpu. I wonder if on the older bulldozer cores, the older xmr-stak-cpu is better adapted to it.

On my intel rig (dual E5649 --Dell R710 -1) the xmrig is about the same hash rate.

xmr-cpu-stak

[2017-09-12 10:32:45] : New block detected.
HASHRATE REPORT
| ID | 2.5s | 60s | 15m | ID | 2.5s | 60s | 15m |
| 0 | 32.8 | 32.8 | 32.7 | 1 | 33.2 | 33.2 | 33.2 |
| 2 | 33.0 | 33.0 | 33.0 | 3 | 33.2 | 33.2 | 33.1 |
| 4 | 33.0 | 33.0 | 33.0 | 5 | 33.2 | 33.2 | 33.1 |
| 6 | 33.0 | 33.0 | 33.0 | 7 | 33.2 | 33.2 | 33.2 |
| 8 | 34.3 | 34.3 | 34.3 | 9 | 34.5 | 34.6 | 34.5 |
| 10 | 34.3 | 34.3 | 34.3 | 11 | 34.5 | 34.6 | 34.5 |
-----------------------------------------------------
Totals: 402.4 402.3 402.0 H/s
Highest: 402.7 H/s

xmrig

miner@monerominer1:~$ ./speed.sh
miner numa 1 speed
[2017-10-17 01:45:29] speed 2.5s/60s/15m 200.3 200.2 n/a H/s max: 200.3 H/s
miner numa 2 speed
[2017-10-17 01:45:31] speed 2.5s/60s/15m 201.0 201.0 n/a H/s max: 201.1 H/s
miner@monerominer1:~$

So I will leave the Dell R710 running the xmrig and see if that improves. Maybe later this week I will flip the AMD back to xmrig and let it burn in.

Jim
 

jims2321

Active Member
Jul 7, 2013
185
44
28
okay apparently I did not swap my AMD box back to xmr-cpu-stak, but left the xmrig running. so I will see what it looks like over the next few days

miner@monerominer2:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a64ff14ecbb6 servethehome/monero_xmrig "/usr/local/bin/xm..." 29 minutes ago Up 29 minutes minernuma4
b4679ac5f895 servethehome/monero_xmrig "/usr/local/bin/xm..." 29 minutes ago Up 29 minutes minernuma3
b43b4913eddd servethehome/monero_xmrig "/usr/local/bin/xm..." 29 minutes ago Up 29 minutes minernuma2
a92cb69c73ce servethehome/monero_xmrig "/usr/local/bin/xm..." 29 minutes ago Up 29 minutes minernuma1

miner@monerominer2:~$ ./speed.sh
miner numa 1 speed
[2017-10-17 01:49:41] speed 2.5s/60s/15m 194.1 193.3 193.3 H/s max: 255.4 H/s
miner numa 2 speed
[2017-10-17 01:49:43] speed 2.5s/60s/15m 196.2 194.1 194.5 H/s max: 260.0 H/s
miner numa 3 speed
[2017-10-17 01:49:45] speed 2.5s/60s/15m 193.8 193.1 192.1 H/s max: 340.4 H/s
miner numa 4 speed
[2017-10-17 01:49:55] speed 2.5s/60s/15m 198.3 199.1 198.7 H/s max: 253.6 H/s
 
  • Like
Reactions: Marsh

Klee

Well-Known Member
Jun 2, 2016
1,285
393
83
okay apparently I did not swap my AMD box back to xmr-cpu-stak, but left the xmrig running. so I will see what it looks like over the next few days

miner@monerominer2:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a64ff14ecbb6 servethehome/monero_xmrig "/usr/local/bin/xm..." 29 minutes ago Up 29 minutes minernuma4
b4679ac5f895 servethehome/monero_xmrig "/usr/local/bin/xm..." 29 minutes ago Up 29 minutes minernuma3
b43b4913eddd servethehome/monero_xmrig "/usr/local/bin/xm..." 29 minutes ago Up 29 minutes minernuma2
a92cb69c73ce servethehome/monero_xmrig "/usr/local/bin/xm..." 29 minutes ago Up 29 minutes minernuma1

miner@monerominer2:~$ ./speed.sh
miner numa 1 speed
[2017-10-17 01:49:41] speed 2.5s/60s/15m 194.1 193.3 193.3 H/s max: 255.4 H/s
miner numa 2 speed
[2017-10-17 01:49:43] speed 2.5s/60s/15m 196.2 194.1 194.5 H/s max: 260.0 H/s
miner numa 3 speed
[2017-10-17 01:49:45] speed 2.5s/60s/15m 193.8 193.1 192.1 H/s max: 340.4 H/s
miner numa 4 speed
[2017-10-17 01:49:55] speed 2.5s/60s/15m 198.3 199.1 198.7 H/s max: 253.6 H/s

I've done that before, think you stopped one miner but actually did not before starting another and wondering why its so damn slow.:eek:
 

jims2321

Active Member
Jul 7, 2013
185
44
28
miner@monerominer2:~$ cat speed.sh
Code:
for i in 1 2 3 4
do
  echo "miner numa $i speed"
  docker logs minernuma$i | tail -3 | grep speed
done
hardcoded the for loop for the number of docker containers, working to parameterize it.. will provide an update soon.
 
  • Like
Reactions: Marsh

jims2321

Active Member
Jul 7, 2013
185
44
28
I've done that before, think you stopped one miner but actually did not before starting another and wondering why its so damn slow.:eek:

running the amd for about 18 hours its pretty stable at about 776 to 782 hash/sec on the AMD with 4 numa dockers running, so slightly less performance that xmr-cpu-stak. I need to run a test for power consumption to see about hash/watt ratio on this box.

on my Dell R710-1 its has the same performance running 2 numa dockers (as it only has 2 numa regions) as xmr-cpu-stak

miner@monerominer1:~$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 24
On-line CPU(s) list: 0-23
Thread(s) per core: 2
Core(s) per socket: 6
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 44
Model name: Intel(R) Xeon(R) CPU E5649 @ 2.53GHz
Stepping: 2
CPU MHz: 1596.000
CPU max MHz: 2528.0000
CPU min MHz: 1596.0000
BogoMIPS: 5054.00
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 12288K
NUMA node0 CPU(s): 0,2,4,6,8,10,12,14,16,18,20,22
NUMA node1 CPU(s): 1,3,5,7,9,11,13,15,17,19,21,23


miner@monerominer1:~$ ./speed.sh
miner numa 1 speed
[2017-10-17 17:44:30] speed 2.5s/60s/15m 203.8 205.6 202.9 H/s max: 242.1 H/s
miner numa 2 speed
[2017-10-17 17:44:31] speed 2.5s/60s/15m 202.6 184.5 201.4 H/s max: 241.3 H/s
miner@monerominer1:~$

Again need to do a hash/watt comparison between the two mining engines.

My theory is on the older cpu's the performance difference is not that much between the two.