☰
XMRig 6.26 实战:从 5 分钟跑通到生产调优的 CPU/GPU 统一挖矿手册
2026/10/20 2:05:52 网站建设 项目流程

XMRig 6.26 实战:从 5 分钟跑通到生产调优的 CPU/GPU 统一挖矿手册

【免费下载链接】xmrigRandomX, KawPow, CryptoNight and GhostRider unified CPU/GPU miner and RandomX benchmark项目地址: https://gitcode.com/GitHub_Trending/xm/xmrig

想在一台闲置服务器上挖 RandomX、KawPow、CryptoNight 或 GhostRider,或者只想跑一次 CPU 基准测试确认硬件状态,XMRig 是合适的工具:单进程同时驱动 CPU、OpenCL 与 CUDA 三种后端,内置 RandomX benchmark,挖矿与跑分用同一套配置。读完这篇,你会有一台能连池稳定挖矿的机器,以及几个真正用得上的调优开关。

先跑起来:最小化部署

三步,五分钟。

第一步:拿到程序。直接下载官方二进制(Windows、Linux、macOS、FreeBSD 都有),或从源码构建:

git clone https://gitcode.com/GitHub_Trending/xm/xmrig cd xmrig && cmake -B build -DWITH_OPENCL=OFF -DWITH_CUDA=OFF && cmake --build build --config Release

没有 GPU 就在 CMake 阶段裁成 CPU-only 构建,编译更快、二进制更小,全部开关见顶层 CMakeLists.txt。判断标准:build/目录产出可执行的xmrig文件。

第二步:跑一条验证命令。不需要钱包、不需要矿池,离线即可:

./build/xmrig --bench=1M

执行 100 万次 RandomX 哈希并打印耗时与算力,样本想更大就换--bench=10M。

第三步:看输出,盯三处。

  • 末尾出现speed 10s/60s/15m ... H/s一行,算力与机器规格相符;
  • dataset 与各线程的Huge pages 100%全部就位;
  • checksum 为绿色——绿色即正确,红色表示计算过程中出现过硬件错误,机制见 doc/BENCHMARK.md。

三条都满足,硬件过基础检查,可以接池了。

🔌 后端选型对比:CPU、OpenCL 与 CUDA

三个后端在同一进程内共存,构建入口按 CPU → OpenCL → CUDA 的顺序依次引入:

后端适用硬件默认开关核心代码位置
CPUx86/x64、ARMv7/ARMv8、RISC-V恒开,默认启用src/backend/cpu
OpenCLAMD GPU运行时opencl.enabled默认 false,加--opencl打开src/backend/opencl
CUDANVIDIA GPUcuda.enabled默认 false,且必须外挂 xmrig-cuda 插件src/backend/cuda

几条直白判断:

  • 只有 CPU?另外两个不用想。CPU 后端覆盖全部算法家族,自动线程配置默认就是最优解。
  • AMD 卡、矿池跑 KawPow 或 CryptoNight?走 OpenCL,cn、kawpow、rx 三套 OpenCL 内核都是内置的。
  • NVIDIA 卡要额外一步:仓库里的 CUDA 部分只实现加载器与 Runner 接口,内核由外部插件提供,--cuda-loader指向插件后才能启用。
  • 想裁精简专用二进制?用 CMake 的WITH_KAWPOW、WITH_GHOSTRIDER等开关裁掉不用的算法家族。

⚙️ 配置三件套:同一个目标的三种姿势

三种姿势写进的是同一套内部配置模型,互不冲突。README 的立场很明确:JSON 优先,因为命令行覆盖不了全部特性(比如不同算法各自的挖矿 profile)。

JSON 配置文件:适合长期维护

以仓库自带的 src/config.json 为底,只改要改的字段:

{ "cpu": { "enabled": true, "huge-pages": true }, "opencl": { "enabled": true, "devices": "0" }, // 启用 AMD GPU 0 号设备 "randomx": { "mode": "fast" }, // fast 费内存,light 省内存 "donate-level": 1, // 开发者捐赠比例,默认 1% "http": { "enabled": true, "port": 4055 }, // 打开 HTTP API "pools": [ { "url": "pool.example.com:3333", // 换成矿池 host:port "user": "YOUR_WALLET_ADDRESS", // 换成你的钱包地址 "pass": "x", "tls": true, // 矿池 SSL 端口置 true "keepalive": true // 心跳防超时 } ] }

改完用--dry-run快检,具体见后文「上线前三件事」。几个最常改字段的取值逻辑:

  • url/user/pass:矿池三件套。algo、coin留空由矿池派任务,也可以自己指定rx/0、gr。
  • cpu.huge-pages:true用默认 2 MB 大页;写数字就是自定义页大小(单位 kB,超过 1 GB 页阈值会回退默认值),解析逻辑在 CpuConfig.cpp 的setHugePages()。
  • randomx.mode:auto/fast/light,内存紧张就 light。
  • http.port:打开远程查询与调参接口,运维一节细说。

命令行:适合快速启动

./xmrig -o pool.example.com:3333 -u YOUR_WALLET_ADDRESS -p x --tls -k --cpu-max-threads-hint=80

-o/-u/-p是矿池三件套,--tls走 SSL 端口,-k开心跳,--cpu-max-threads-hint限定自动生成线程数的百分比(0–100)。判断标准:日志出现ABOUT/POOL #1区块,几秒后打出new job。完整参数清单在 usage.h,用到再查。

Wizard:适合从 0 到 1

官方 Wizard 帮你生成初始 JSON,第一次配置用它最省事。生成之后它就是一份普通配置文件,后续调优照旧回到 JSON。

什么时候用哪种

姿势适用场景局限
JSON多矿池、多算法 profile、长期调优需要熟悉字段名
命令行快速启动、临时覆盖个别参数覆盖不了全部特性
Wizard生成初始配置,从 0 到 1产物仍需落到 JSON 里维护

🧪 按算法逐项调优

四个算法家族都有内置自动配置,绝大多数情况下默认就够,只在出现明确触发条件时才动手。

RandomX(rx/0):盯内存与 MSR

  • 默认够用吗?够用。huge-pages、rdmsr、wrmsr默认全开,mode: auto按 CPU 自选。
  • 何时介入:内存充裕的 Linux 机器,预分配 1 GB 大页(仓库自带 scripts/enable_1gb_pages.sh)后把"1gb-pages"置 true;怀疑 MSR 没写进去,先跑一次 scripts/randomx_boost.sh,它会按 Zen 代际和 Intel 分别写入推荐值;内存紧张就降级mode: "light"。
  • 看哪个指标:日志里 dataset 与 scratchpad 均显示Huge pages 100%,且有msr register values ... set successfully。缺任何一条,算力都会明显打折。

CryptoNight 系(cn/r、cn/fast、cn/upx2 等):盯汇编与 AES

  • 默认够用吗?够用。asm: auto加hw-aes自动检测,CPU 的 AES 指令集开箱即用。
  • 何时介入:启动信息里 CPU 一行没出现AES,说明回退到了软件实现,用--asm=intel或--asm=ryzen强制指定;同时挖多个变体、想微调线程配比,用"cn/0"、"cn-lite/0"这类变体开关。
  • 看哪个指标:x64 AES出现在启动信息里,new job的 diff 与矿池一致,speed行算力稳定。

KawPow:盯缓存与 GPU 路径

  • 默认够用吗?CPU 侧够用,每线程独立缓存,线程数交给自动配置。
  • 何时介入:GPU 挖矿需先启用 OpenCL 并指定设备;怀疑内核编译缓存异常导致反复重编,用--opencl-no-cache跑一次对比排除。
  • 看哪个指标:启动无 OCL 报错,speed行算力平稳无锯齿。

GhostRider(gr):默认值优先,别乱碰

  • 默认够用吗?够用,而且建议别动。v6.16.0 起官方自动配置在大多数 CPU 上表现良好。
  • 何时介入:真要调线程占比,用--cpu-max-threads-hint=N(0–100)或改配置文件,不要用-t/--threads——GhostRider 文档 明确写了它会关闭内置高级自动配置。
  • 看哪个指标:speed行的 h/s。注意 CPU 占用可能低于 100%(Ryzen 3000/5000 上部分变体少线程反而更快),这是有意为之,不是 bug。

📊 上线前三件事:校验、基准与压测

每件事一条命令、一条判据。

1. 配置校验

./xmrig -c config.json --dry-run

--dry-run只测试配置然后退出。判据:无错误输出且立刻退出;字段写错会直接报给你。

2. 基准跑分

./xmrig --bench=1M --submit

跑分并把结果在线提交分享(跑分本身离线可行,提交需要联网)。判据:checksum 绿色(硬件稳定)加Huge pages 100%;之后可用--verify=ID复核已提交的结果。

3. 短时压测

./xmrig --stress

贴近真实 RandomX 挖矿的连续压力测试(需联网,无限期运行)。判据:连续 15–30 分钟无红色错误,算力波动在几个百分点以内,温度不爬升。

🏭 上线之后的运维

跑起来之后你还会碰到的几件事:

  • 配置热更新:"watch": true(默认开启),改完 config 文件保存即自动重载,不用重启,实现在 src/base/io/Watcher.cpp;"autosave": true会把运行中的修改写回文件,所见即所得。
  • HTTP API:http.port加access-token即可用;restricted: true时远程受限、本地功能完整,适合批量管理或接监控面板。
  • 日志:-l FILE落盘,--verbose取 0–4 控制详略,--syslog走 syslog 服务。
  • 健康巡检:health-print-time(默认 60 秒)定期打印硬件健康报告,GPU 温度都在里面。
  • 重连与重试:retries: 5、retry-pause: 5,掉线自动重连,参数名就是语义。
  • 暂停策略:pause-on-battery、pause-on-active=N适合桌面机;title选项把算力写进窗口标题,远程瞟一眼就知道状态。

捐赠、生态与支持

  • 默认开发者捐赠 1%(每 100 分钟让出 1 分钟),用--donate-level或"donate-level"调整。
  • 彻底关闭:把 donate.h 里的kDefaultDonateLevel、kMinimumDonateLevel改成 0 重新编译。
  • 选择关闭的话,官方建议用一次性 XMR 地址支持项目(地址见 README 捐赠一节)。
  • 支持邮箱 support@xmrig.com;主要开发者为 xmrig 与 sech1,许可证 GPL-3.0-or-later。

延伸阅读:CHANGELOG.md、doc/API.md、doc/ALGORITHMS.md。

最后给一条可执行建议:先按本文顺序跑完--dry-run与--bench=1M,确认 checksum 绿色且Huge pages 100%再上生产;调优前先读一遍 doc/BENCHMARK.md,把内置基准测试的判据吃透,后续排查硬件问题会省很多事。

【免费下载链接】xmrigRandomX, KawPow, CryptoNight and GhostRider unified CPU/GPU miner and RandomX benchmark项目地址: https://gitcode.com/GitHub_Trending/xm/xmrig

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询