我正在尝试在 Ubuntu Server 22.04.1 上启动时运行 XMRig,但我的基本知识不足以解决这个问题。
我正在关注这该过程使用 systemd 服务启动 shell 脚本,然后该脚本在指定的屏幕内启动 XMRig,这样我就可以查看控制台(如果需要)。实际上,它可以工作,但 XMRig 需要以 root 身份运行,因此可以利用大页面来提高性能。
如果我将服务文件中的“用户”键更改为“root”,XMRig 将以 root 身份运行,但当我尝试使用查看日志时screen -r
,我会收到一条消息,提示“没有要恢复的屏幕”。
我希望有一个简单的改变,可以让两者screen -r
协同user=root
工作。
/etc/systemd/system/xmrig.service:
[Unit]
Description=XMRig Service
[Service]
LimitMEMLOCK=infinity
Type=forking
RemainAfterExit=yes
User=<user>
WorkingDirectory=/home/<user>
ExecStart=/home/<user>/StartXMRig
KillMode=none
[Install]
WantedBy=multi-user.target
/主页/用户/StartXMRig:
#!/bin/sh
screen -dmS xmrig /home/<user>/XMRig/xmrig
二进制权限(〜/ XMRig / xmrig:
-rwxr-xr-x 1 root root 7022816 Oct 23 03:57 xmrig
答案1
您只需要 root 权限即可更改系统范围的变量。
启用大页面
这将提高你的散列性能:
使用您喜欢的编辑器编辑该文件
/etc/sysctl.conf
,使用 sudo 提升您的权限,并将以下内容添加到文件末尾:vm.nr_hugepages=1024
您可以使用以下命令执行此操作
sudo -i
nano /etc/sysctl.conf
滚动到末尾并添加
vm.nr_hugepages=1024
保存并退出。退出 root 提示符。
屏幕能够显示 root 进程吗?
是的,但只有当用户是屏幕的用户时,屏幕才会连接。
在 Ubuntu 中,永远不需要以“root”身份运行软件。说明中没有任何地方说明您需要以 root 身份运行此软件。说明的一部分指出:
正在使用的用户名为矿工,因此在整个说明中,如果您的用户不同,请修改用户!
因此,您的管理员用户已经足够好了,但对于服务器软件来说,它不如专用用户那么安全。
从安全角度来看,建议创建一个用户“miner”并使用它。这将 100% 符合说明,并且如果 miner 的创建者有恶意,他将不会知道您的管理员密码,只能弄乱 /home/miner/。