Monero门罗币挖矿工具:xmr-stak

这是Monero门罗币系列的第三篇文章,认识门罗币钱包,了解矿池之后,可以进入下一步,就是心动的挖矿了,本文章将给大家详细介绍挖矿工具xmr-stak。

xmr-stak是一款集成了CPU、GPU挖矿的工具,由最初的xmr-stak-cpu、xmr-stak-amd和xmr-stak-nvidia三款集成而来,支持64位的Windows、Linux和MacOS系统。

xmr-stak在Windows下的用法

下载地址:https://github.com/fireice-uk/xmr-stak/releases/

挖矿之前,请正确安装显卡的驱动和CUDA,下载最新版的xmr-stak-win64,解压,右击,选择“以管理员身份运行”即可。

Monero门罗币挖矿工具:xmr-stak

xmr-stak会根据我们的输入生成配置文件,因为使用的是命令行界面,我们可以在cmd窗口上面白色处右击,选择“编辑”-->“粘贴”来粘贴矿池地址和钱包地址。

Monero门罗币挖矿工具:xmr-stak

Password

询问密码,一般的矿池是不设密码的,直接回车即可,如果矿池有设置密码,请输入密码。

Dose this pool port support TLS/SSL? Use no if unknown. (y/N)

询问是不是支持TLS/SSL,如果是就输入y,不支持就N,不知道是否支持,输入no。

Do you want to use nichhash on this pool?(y/n)

询问是否需要使用nicehash,一般输入n,如果你有使用nicehash的服务就输入y。

Do you want to use multiple pools?(y/n)

询问是否使用多个矿池,如果有多个矿池,在前一个矿池连不上的时候,会使用下一个矿池。

设置完成就开始挖矿了。xmr-stak会根据CPU、GPU自动进行配置,以最大的效率进行挖矿。使用的CPU核心数=CPU L3缓存大小 / 2,就是说,一个核心要占用2MB的L3缓存,比如4核心的CPU有6MB的L3缓存,那么使用3个核心进行挖矿的效率最高,4个核心全开效率反而更低。

Monero门罗币挖矿工具:xmr-stak

在挖矿界面,输入h看查看挖矿的hashrate(算力)。

monero,挖矿,输入h看查看挖矿的hashrate(算力)

输入r可以查看results(挖矿结果)。

monero,挖矿,输入r可以查看results(挖矿结果)

输入c可以查看和矿池的连接情况。

monero,挖矿,输入c可以查看和矿池的连接情况

xmr-stak在Windows下常见问题解决办法

1、缺少dll文件的解决办法

monero,挖矿,缺少dll文件

一般在Windows10下不会提示缺少dll文件,但是在Windows7下会出现。安装VC_redist.x64.exe即可,微软官方下载地址:https://go.microsoft.com/fwlink/?LinkId=746572

2、提示“MEMORY ALLOC FAILED: VirtualAlloc failed.的解决办法

控制面板–>管理工具–>本地安全策略–>本地策略–>用户权限分配,在右侧找到“锁定内存页”,然后把本机的系统用户名添加进去。重启挖矿电脑,在运行xmr-stake的时候,使用右键,“以管理员身份运行”,错误会消失,目测会有20%左右的性能提升。

“锁定内存页”设置完成之后,在后续的使用过程中,如果继续出现这个错误,只需要重启挖矿电脑就可以。

3、屏幕出现卡顿情况的解决办法

xmr-stak默认情况下会使用电脑的全部资源进行挖矿操作,如果在工作的机器上进行挖矿,会出现屏幕卡顿,鼠标点击延迟的情况,根据显卡的厂家,可以打开nvidia.txt或者amd.txt,调低“gpu_threads_conf”中“threads”参数的值。

如果你要禁用显卡挖矿,在启动的时候加入 --noAMD 或者 --noNVIDIA 参数即可。

同理,如果你想减少CPU核心挖矿,就减少cpu.txt文件中的核心数;如果想禁止CPU挖矿,可在启动的时候加入 --noCPU 参数。

4、出现“Error CL_MEM_OBJECT_ALLOCATION_FAILURE when calling clEnqueueNDRangeKernel for kernel 0.”错误的解决办法。

增加虚拟内存的大小,至少40G以上,如果卡比较多,可能需要更多的虚拟内存。

xmr-stak在Linux下的用法

本文以CentOS为例,其他的Linux发行版编译请查看官方的教程

在进行编译之前,请根据显卡类型安装AMD APP SDK或者CUDA。

在安装CUDA时,如果想最小化安装,请选择安装 CUDA/Develpment 、CUDA/Runtime 和 Driver components。

yum install centos-release-scl epel-release git
yum install cmake3 devtoolset-4-gcc* hwloc-devel libmicrohttpd-devel openssl-devel make
scl enable devtoolset-4 bash
git clone https://github.com/fireice-uk/xmr-stak.git
mkdir xmr-stak/build
cd xmr-stak/build
cmake3 ..
make install

编译完成之后,进入bin文件夹,就能看到xmr-stak程序,输入 ./xmr-stak 运行即可。

xmr-stak在Linux的操作方式和Windows下差不多,可以使用 h 、r 、c 命令来查看挖矿的状态。

xmr-stak在Linux下常见问题解决办法

1、出现“Error: MEMORY ALLOC FAILED: mmap failed”的解决办法

运行命令:sysctl -w vm.nr_hugepages=12

修改/etc/security/limits.conf这个文件,加上以下两行

* soft memlock 262144
* hard memlock 262144

退出,重新登录即可。重启之后,可能会重新出现这个错误,只要执行一下 sysctl -w vm.nr_hugepages=12 命令即可。

2、出现“recipe for target ‘CMakeFiles/xmrstak_opencl_backend.dir/all’ failed”的解决办法

$ cd $AMDAPPSDKROOT/lib/x86_64
$ sudo ln -sf sdk/libOpenCL.so.1 libOpenCL.so

3、xmr-stak 不编译GPU配置

如果主机没有GPU,只用CPU挖矿,在编译的时候,注意把

cmake3 ..

改成

cmake3 -DCUDA_ENABLE=OFF -DOpenCL_ENABLE=OFF ..

17 Comments

  1. 我也在用,不过XMR实在挖起来效率不高,有显卡的话收益比不上ZEC或者ETH。我是在没有显卡或者显卡很差的电脑上挖XMR,或者一边ZEC一边XMR…… 另外supportxmr的支付额度是默认0.3,挖了一周多还不到默认额度的1/3。 电脑是一台E3-1230+一台I7-4790…… 在我看来就是zec的补充了,聊胜于无……

  1. 我也在用,不过XMR实在挖起来效率不高,有显卡的话收益比不上ZEC或者ETH。我是在没有显卡或者显卡很差的电脑上挖XMR,或者一边ZEC一边XMR…… 另外supportxmr的支付额度是默认0.3,挖了一周多还不到默认额度的1/3。 电脑是一台E3-1230+一台I7-4790…… 在我看来就是zec的补充了,聊胜于无……

    我们是非专业的矿工,都是挖Monero玩的,有现成的电脑,就挂着玩玩。

  1. 老大我想问一下,xmr-stak 放在计划任务里面开机自动运行,程序的确运行了,但是没有算力?

  1. 老大我想问一下,xmr-stak 放在计划任务里面开机自动运行,程序的确运行了,但是没有算力?

    手动运行xmr-stak的时候是不是都正常?

    把xmr-stak自动运行时,没有算力的截图贴一张看看。

  1. 请问老大能不能出个用cmake编译xmr-stak 的教程,小白一个,想学习cmake,可惜按照complie做一直不成功。

  1. 请问老大能不能出个用cmake编译xmr-stak 的教程,小白一个,想学习cmake,可惜按照complie做一直不成功。

    在Windows下编译吗?GitHub上有已经编译成exe的,可以下载使用。

  1. 在Windows下编译吗?GitHub上有已经编译成exe的,可以下载使用。

    github上的exe有2%的抽水,不得改源码再编译才能去掉吗

  1. github上的exe有2%的抽水,不得改源码再编译才能去掉吗

    对,这个需要改源码,再编译。编译应该不会很复杂,我下篇文章介绍如何在Windows下编译xmr-stak。

  1. 对,这个需要改源码,再编译。编译应该不会很复杂,我下篇文章介绍如何在Windows下编译xmr-stak。

    多谢老大,我现在卡在vs2017编译总是报一个c1900的错误(C1900: Il mismatch between 'P1' version '20161212' and 'P2' version '20150812' ),GitHub上也有提交这个错误,dev说新版本已经修正这个错误,但是不知道我还是遇到了。顺便请教下不使用GPU,cuda9.1的驱动需要安装吗?下面就等您更新了

  1. 多谢老大,我现在卡在vs2017编译总是报一个c1900的错误(C1900: Il mismatch between 'P1' version '20161212' and 'P2' version '20150812' ),GitHub上也有提交这个错误,dev说新版本已经修正这个错误,但是不知道我还是遇到了。顺便请教下不使用GPU,cuda9.1的驱动需要安装吗?下面就等您更新了

    如果不需要显卡挖矿,只用CPU挖矿的话,可以不用安装CUDA和AMD SDK Installer。

  1. 你好,我按照步骤配置的各项,出现矿池连接错误是怎么回事呢 (SOCKET ERROR - [sg.minexmr.com:4444] CONNECT error: 由于连接方在一段时间后没有正确答复或连接的主机没有反应)

  1. 你好,我按照步骤配置的各项,出现矿池连接错误是怎么回事呢 (SOCKET ERROR - [sg.minexmr.com:4444] CONNECT error: 由于连接方在一段时间后没有正确答复或连接的主机没有反应)

    如果你在配置矿池的时候没有输错的话,那可能是网络的问题,部分vps提供商会封minexmr.com,不允许拿来挖矿。你ping sg.minexmr.com试试,看看通不通。

  1. 如果你在配置矿池的时候没有输错的话,那可能是网络的问题,部分vps提供商会封minexmr.com,不允许拿来挖矿。你ping sg.minexmr.com试试,看看通不通。

    试了一下,矿池地址可以正常ping通

  1. 如果你在配置矿池的时候没有输错的话,那可能是网络的问题,部分vps提供商会封minexmr.com,不允许拿来挖矿。你ping sg.minexmr.com试试,看看通不通。

    我把端口号改成5555居然就好了,太感谢啦!

  1. 现在如果你用的是老版本的 xmr-stak-win64 ,虽然你在本地看到算力,但是你在矿池是没有算力。必须更新版本到xmr-stak-win64-2.6.0,我用的矿池是 pool.minexmr.com:5555

  1. 现在如果你用的是老版本的 xmr-stak-win64 ,虽然你在本地看到算力,但是你在矿池是没有算力。必须更新版本到xmr-stak-win64-2.6.0,我用的矿池是 pool.minexmr.com:5555

    嗯,xmr-stak 2.6.0发布了,性能应该有所提升。

  1. 退下来的dell服务器,两颗志强E5-2620v3,为啥CPU只到50%,最高3402.4H/s。
    是不是CPU还没充分用起来?