本文由币乎社区(bihu.com)内容支持计划奖励。
买了一块 AMD RX 580 显卡, 展开了我 Mac 的挖矿之旅。
Mac 和 windows
因为 windows 下安装一个软件常常会莫名装上很多其它没用的软件,木马、病毒也多得要死,经常不小心就中招,造成系统运行速度极慢、不稳定。所以我不太习惯用 windows 操作系统。在家可以用 imac, 但在单位没有办法,总不能让老板买个 imac 吧,只好自己配置了兼容机,安装上 MAC OS X 操作系统,平常就用黑苹果了。
Mac 下显卡安装
开机箱,插好板,接下来就是驱动问题,还好现在 Mac 已经支持 AMD RX 580 显卡了,所以安装显卡驱动还比较容易,简单点就用 CLOVER configurator 软件来配置下 CLOVER config.plist ,在 Graphics 中把 Inject ATI, RadeonDeInit 这两项打勾重启就可以了。
初步挖矿
点此下载 ethminer, 选择 Darwin 下载。
显卡检测
下载后可以使用 --list-devices
列出系统中的显卡
$ ./ethminer -G --list-devices
Listing OpenCL devices.
FORMAT: [platformID] [deviceID] deviceName
[0] [0] Iris Pro
CL_DEVICE_TYPE: GPU
CL_DEVICE_GLOBAL_MEM_SIZE: 1610612736
CL_DEVICE_MAX_MEM_ALLOC_SIZE: 402653184
CL_DEVICE_MAX_WORK_GROUP_SIZE: 512
[0] [1] AMD Radeon RX 580 Compute Engine
CL_DEVICE_TYPE: GPU
CL_DEVICE_GLOBAL_MEM_SIZE: 8589934592
CL_DEVICE_MAX_MEM_ALLOC_SIZE: 2147483648
CL_DEVICE_MAX_WORK_GROUP_SIZE: 256
显示系统装有两块显卡,第一块是集成显卡,第二块是挖矿的显卡。我显示器是接在集成显卡中,580专门用来挖矿。
我试过,显示器接在 580 显卡上,显示和挖矿都没有什么问题,不过在挖矿时,操作电脑时,显示会变慢,而且挖矿的速度也会下降。所以最好还是分开,挖矿还是用单独的显卡。
- 开始挖矿
ethminer 用法:
ethminer -G -S 矿池地址 -O 以太钱包地址 --opencl-device 1`
--opencl-device
指定控矿使用显卡,
如果有多个显卡,可以用 --opencl-device
1 2 3 指定
- 存在的问题和思考
已经成功挖矿了,但是仔细一看,挖矿的速度值怎么这么低?明显比在 windows 下慢了很多啊, windows 下普通 18 Mh/s 的速度, 在 Mac 下只有 4 Mh/s 左右的速度。是显卡驱动问题吗?还是???
显卡的驱动测试,我下载 cinebench 测试了一下显卡性能,跟 windows 下的性能差不太多。不应该造成如此大的速度区别。
那是挖矿软件有问题吗?
在网上找到一篇有关 Mac 下挖矿的文章,里面说源码编译速度会快点
深入源码
编译挖矿软件源码
- 安装 brew , 如果还没有安装的话:
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 安装 CMake
$ brew install cmake
- 下载源代码
$ git clone https://github.com/ethereum-mining/ethminer.git
- 开始编译
cd ethminer
建立目录
mkdir build; cd build
配置
$ cmake ..
如果是NVidia的显卡, 使用 `$ cmake .. -DETHASHCUDA=ON`
开始编译
cmake --build .
编译后的程序在 build/ethminer 目录下
- dwarfpool 矿池使用方法:
./ethminer -G -F http://eth-eu.dwarfpool.com/以太钱包地址
- ethermine 矿池使用方法:
./ethminer --farm-recheck 200 -G -S eu1.ethermine.org:4444 -FS us1.ethermine.org:4444 -O 以太钱包地址.注册用户名
编译成功,但是速度基本上没有提高,还是 4 Mh/s 左右!
无聊之下,只能用
$ ./ethminer --help
仔细查看有关选项,看能不能找到其它办法。
在试用了很多选项后,都失败了,其中的一个选项引起了我的注意 -cl-kernel
OpenCL configuration:
--cl-kernel <n> Use a different OpenCL kernel (default: use stable kernel)
0: stable kernel
1: unstable kernel
这个选项可以使用不同的 OpenCL 内核,缺省是 0 ,使用稳定的内核, 1 为不稳定版内核。
试了一把 --cl-kernel 1
果然速度明显提高,基本在 14.8 Mh/s 之上 。
我挖矿的最终的参数:
ethminer -G -F http://eth-eu.dwarfpool.com/0xce7077A7F5E85044329dE4D08CC91f67C102fc5B --cl-local-work 256 --cl-kernel 1 --cl-global-work 16384 --opencl-devices 1
查看挖矿情况
oscar$ curl http://dwarfpool.com/eth/api?wallet=0xce7077A7F5E85044329dE4D08CC91f67C102fc5B
{
"autopayout_from": "1.010",
"earning_24_hours": "0.00018725",
"error": false,
"immature_earning": 0.000106603497,
"last_payment_amount": 0,
"last_payment_date": null,
"last_share_date": "Tue, 06 Feb 2018 04:38:06 GMT",
"payout_daily": false,
"payout_request": false,
"total_hashrate": 14.82,
"total_hashrate_calculated": 0.0,
"transferring_to_balance": 0.0000795680,
"wallet": "0xce7077A7F5E85044329dE4D08CC91f67C102fc5B",
"wallet_balance": "0.00009854",
"workers": {
"": {
"alive": true,
"hashrate": 14.82,
"hashrate_below_threshold": false,
"hashrate_calculated": 0.0,
"last_submit": "Tue, 06 Feb 2018 04:38:06 GMT",
"second_since_submit": 319,
"worker": ""
}
}
一般情况下服务器返回的数据跟实际挖矿情况会有 3 ~ 5 分钟的延迟,要耐心等待一下。
问题不断
挖矿软件运行了一阵子,想看看什么时候能有收益啊,进了dwarfpool.com 看了下,要满 1 个以太才会给你发放收益。国内的矿池有的 0.05 ,有的 0.1 就发放了。这也太坑了吧!
- 试下用以下的命令使用 f2pool 鱼池挖矿, 可以连接,但是 https://www.f2pool.com/eth/0xce7077A7F5E85044329dE4D08CC91f67C102fc5B 并没有显示有挖矿收益。
ethminer -G -S eth.f2pool.com:8080 -O 0xce7077A7F5E85044329dE4D08CC91f67C102fc5B.abc -SP 1 --cl-kernel 1 --opencl-devices 1
- 测试使用星火矿池,也没有成功。
ethminer -G -S huabei-pool.ethfans.org:3333 -O 0xce7077A7F5E85044329dE4D08CC91f67C102fc5B.abc -SP 1 --cl-kernel 1
- 不知道在官网看了多少次的文档,最后终于被我试出来了,问题出在钱包后面要有注册的用户名。如下:
ethminer -G -S eth.f2pool.com:8008 -O 0xce7077A7F5E85044329dE4D08CC91f67C102fc5B.oscnet -SP 1 --cl-kernel 1 --opencl-devices 1
设置开机自启动
每次都要自己运行一下,太麻烦了,我将参数写成如下 ethminer.plist 放入目录 ~/Library/LaunchAgents/。设置成开机自启动。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN
http://www.apple.com/DTDs/PropertyList-1.0.dtd >
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.zjpjhx.ethminer</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/ethminer</string>
<string>-G</string>
<string>-S</string>
<string>eth.f2pool.com:8008</string>
<string>-O</string>
<string>0xce7077A7F5E85044329dE4D08CC91f67C102fc5B.oscnet</string>
<string>-SP</string>
<string>1</string>
<string>--cl-kernel</string>
<string>1</string>
<string>--cl-local-work</string>
<string>256</string>
<string>--cl-global-work</string>
<string>16384</string>
<string>--opencl-devices</string>
<string>1</string>
</array>
<key>KeepAlive</key>
<true/>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
- 检查plist语法是否正确
plutil ~/Library/LaunchAgents/ethminer.plist
- 载入配置, 使配置生效
launchctl load ~/Library/LaunchAgents/ethminer.plist
- 如果要卸载配置
launchctl unload ~/Library/LaunchAgents/ethminer.plist
- 查看服务运行状态
launchctl list
收工
终于搞定,完美,一边工作,一边电脑还能为我赚钱,哈哈哈!这个感觉还真不错。
下一步改进
通过重新配置显卡 bios , 也就是刷显卡 bios 可以进一步提高算力。这个等以后有空再搞吧。
Congratulations @oscnet! You have received a personal award!
1 Year on Steemit
Click on the badge to view your Board of Honor.
Do not miss the last post from @steemitboard:
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Congratulations @oscnet! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Do not miss the last post from @steemitboard:
Vote for @Steemitboard as a witness to get one more award and increased upvotes!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit