众所周知
在HiveOS里面一台矿机只能同时使用一个 飞行表,而一个飞行表里,同一个挖矿软件只能运行一次,那么如果让 挖矿软件 运行两次 或者 N次呢.
为什么有这种需求?
我来告诉你,目前我碰到的情况是 LHR 的显卡,在解锁的时候 由于不同卡,用的不同显存,会导致他们的 unlock级别不一样,比如三星的 体质好 unlock级别就高, 海力士就要差一些.
那么问题就来了,以gminer为例,我如何将不同的卡使用不同的级别进行 unlock呢,答案就是手动写shell脚本来实现.
以下脚本里的 gminer2 mine_eth2.sh start_gminer2.service 请修改成你自己实际的
首先我们去gminer官网,把 软件下载到 /hive/miners/custom/gminer/ 这里
然后设置gminer运行脚本 以及 钱包地址,注意 “/hive/miners/custom/gminer/miner2” 要写成完整路径 不能写成 “./miner2”
/hive/miners/custom/gminer/miner2 --algo eth --server cn.ezil.me --port 5555 -w 1 --logfile /hive/miners/custom/gminer/gminer2.log --user 你的钱包地址 --pass x --devices 3 --lhr_tune1 2
接下来写启动screen 运行 gminer的脚本
脚本位于 /hive/miners/custom/gminer/start_mine_eth2.sh
#!/usr/bin/env bash sleep 30 #等30sec ,让hiveos中的正规gminer先运行了来(自定义的gminer,必须后运行 ,否则 正规gminer无法启动) echo "" > /hive/miners/custom/gminer/gminer2.log screen_name1="gminer2" # screen名字 ,随便取 screen -dmS $screen_name1 cmd1="/hive/miners/custom/gminer/mine_eth2.sh"; #这个是挖矿程序的位置 screen -x -S $screen_name1 -p 0 -X stuff "$cmd1" #创建screen screen -x -S $screen_name1 -p 0 -X stuff $'\n' #回车
接下来, 编写 start_gminer2.service 开机自启动脚本
[Unit] Description=Gminer2 After=network-online.target multi-user.target hive.service Requires=network-online.target [Service] Type=forking TimeoutStartSec=infinity ExecStart=/hive/miners/custom/gminer/start_mine_eth2.sh [Install] WantedBy=multi-user.target
此脚本保存到 /usr/lib/systemd/system/start_gminer2.service
把后把脚本设置为开机启动
systemctl enable start_gminer2
如果要禁止自启动就写成
systemctl disable start_gminer2
可千万别加到/etc/rc.local文件里启动,要不然 会报错 DEVICE NOT FOUND
收工,重启试试