XMRig — 完整指南
网络
| 短参数 | 长参数 | 说明 | 版本 |
|---|---|---|---|
| -o | --url=URL | 矿池服务器地址(URL) | 全部 |
| -a | --algo=ALGO | 挖矿算法 | 全部 |
| --coin=COIN | 指定币种而不是算法 | 3.2.0+ | |
| -u | --user=USERNAME | 矿池服务器用户名 | 全部 |
| -p | --pass=PASSWORD | 矿池服务器密码 | 全部 |
| -O | --userpass=U:P | 矿池服务器的“用户名:密码”组合 | 全部 |
| -x | --proxy=HOST:PORT | 通过 SOCKS5 代理连接 | 5.7.0+ |
| -k | --keepalive | 发送 keepalive 数据包以防止超时(需矿池支持) | 全部 |
| --nicehash | 启用 nicehash 支持 | 全部 | |
| --rig-id=ID | 用于矿池端统计的矿机标识(需矿池支持) | 2.6.1+ | |
| --tls | 启用 SSL/TLS 支持(需矿池支持) | 2.8.0+ | |
| --tls-fingerprint=HEX | 矿池 TLS 证书指纹,用于严格的证书绑定 | 2.8.0+ | |
| --dns-ipv6 | 优先使用 DNS 响应中的 IPv6 记录 | 6.11.0+ | |
| --dns-ttl=N | 内部 DNS 缓存的 TTL,N 秒(默认:30) | 6.11.0+ | |
| --daemon | 使用节点(daemon)RPC 而不是矿池进行 solo 挖矿 | 3.0.0+ | |
| --daemon-poll-interval=N | 节点轮询间隔,单位毫秒(默认:1000) | 3.0.0+ | |
| --self-select=URL | 从指定 URL 自选区块模板 | 4.4.0+ | |
| --submit-to-origin | 同时将解提交回自选 URL | 6.9.0+ | |
| -r | --retries=N | 切换到备用服务器前的重试次数(默认:5) | 全部 |
| -R | --retry-pause=N | 重试间隔时间(默认:5) | 全部 |
| --user-agent | 为矿池设置自定义 user-agent 字符串 | 2.3.0+ | |
| --donate-level=N | 捐赠比例,默认 1%(每 100 分钟中 1 分钟) | 全部 | |
| --donate-over-proxy=N | 控制通过 xmrig-proxy 捐赠的功能 | 3.0.0+ |
CPU 后端
| 短参数 | 长参数 | 说明 | 版本 |
|---|---|---|---|
| --no-cpu | 禁用 CPU 挖矿后端 | 3.0.0+ | |
| -t | --threads=N | CPU 线程数。部分优化需要正确设置 CPU 亲和性。 | 全部 |
| --cpu-affinity=N | 设置进程的 CPU 核心亲和性,掩码 0x3 表示核心 0 和 1 | 全部 | |
| -v | --av=N | 算法变体,0 为自动选择 | 全部 |
| --cpu-priority=N | 设置进程优先级(0 空闲,2 正常,最高为 5) | 2.3.0+ | |
| --cpu-max-threads-hint=N | 自动配置时使用的最大 CPU 线程数提示(百分比) | 4.2.0+ | |
| --cpu-memory-pool=N | 持久内存池使用的 2 MB 页数量,-1(自动),0(禁用) | 4.3.0+ | |
| --cpu-no-yield | 优先追求最高算力,而非系统响应速度/稳定性 | 5.1.1+ | |
| --no-huge-pages | 禁用大页(huge pages)支持 | 2.3.0+ | |
| --hugepage-size=N | 自定义大页大小,单位 kB(仅限 Linux) | 2.8.1+ | |
| --huge-pages-jit | 为 RandomX JIT 代码启用大页支持 | 全部 | |
| --asm=ASM | ASM 优化,可选值:auto, none, intel, ryzen, bulldozer | 2.8.0+ | |
| --argon2-impl=IMPL | argon2 实现:x86_64, SSE2, SSSE3, XOP, AVX2, AVX-512F | 6.3.1+ | |
| --randomx-init=N | 初始化 RandomX 数据集所用的线程数 | 3.0.0+ | |
| --randomx-no-numa | 禁用 RandomX 的 NUMA 支持 | 3.0.0+ | |
| --randomx-mode=MODE | RandomX 模式:auto, fast, light | 5.1.0+ | |
| --randomx-1gb-pages | RandomX 数据集使用 1GB 大页(仅限 Linux) | 5.2.0+ | |
| --randomx-wrmsr=N | 向 MSR 寄存器写入自定义值,或禁用 MSR 修改(-1) | 5.2.0+ | |
| --randomx-no-rdmsr | 退出时不恢复 MSR 初始值 | 5.5.0+ | |
| --randomx-cache-qos | 启用 Cache QoS | 6.3.1+ |
OpenCL 后端
| 短参数 | 长参数 | 说明 | 版本 |
|---|---|---|---|
| --opencl | 启用 OpenCL 挖矿后端 | 5.0.0+ | |
| --opencl-devices=N | 要使用的 OpenCL 设备列表,用逗号分隔 | 5.0.0+ | |
| --opencl-platform=N | OpenCL 平台编号或名称 | 5.0.0+ | |
| --opencl-loader=PATH | OpenCL-ICD-Loader 的路径(OpenCL.dll 或 libOpenCL.so) | 5.0.0+ | |
| --opencl-no-cache | 禁用 OpenCL 缓存 | 5.0.0+ | |
| --print-platforms | 列出可用的 OpenCL 平台后退出 | 5.0.0+ |
CUDA 后端
| 短参数 | 长参数 | 说明 | 版本 |
|---|---|---|---|
| --cuda | 启用 CUDA 挖矿后端 | 5.0.0+ | |
| --cuda-loader=PATH | CUDA 插件的路径(xmrig-cuda.dll 或 libxmrig-cuda.so) | 5.0.0+ | |
| --cuda-devices=N | 要使用的 CUDA 设备列表,用逗号分隔 | 5.0.0+ | |
| --cuda-bfactor-hint=N | 自动配置时使用的 bfactor 提示值(0-12) | 5.0.1+ | |
| --cuda-bsleep-hint | 自动配置时使用的 bsleep 提示值 | 5.0.1+ | |
| --no-nvml | 禁用 NVML(NVIDIA Management Library)支持 | 5.0.0+ |
API
| 短参数 | 长参数 | 说明 | 版本 |
|---|---|---|---|
| --api-worker-id=ID | API 使用的自定义 worker-id(矿机名) | 2.4.0+ | |
| --api-id=ID | API 使用的自定义实例 ID | 2.4.0+ | |
| --http-host=HOST | HTTP API 绑定的主机(默认:127.0.0.1) | 5.0.0+ | |
| --http-port=N | HTTP API 绑定的端口 | 5.0.0+ | |
| --http-access-token=T | HTTP API 的访问令牌 | 5.0.0+ | |
| --http-no-restricted | 允许完全远程访问 HTTP API(仅在设置了访问令牌时) | 5.0.0+ |
日志
| 短参数 | 长参数 | 说明 | 版本 |
|---|---|---|---|
| -S | --syslog | 将输出信息写入系统日志 | 全部 |
| -l | --log-file=FILE | 将全部输出记录到文件 | 全部 |
| --print-time=N | 每 N 秒输出一次算力报告 | 全部 | |
| --health-print-time=N | 每 N 秒输出一次硬件状态报告 | 5.0.0+ | |
| --no-color | 禁用彩色输出 | 全部 | |
| --verbose | 详细输出 | 5.4.0+ |
其他
| 短参数 | 长参数 | 说明 | 版本 |
|---|---|---|---|
| -c | --config=FILE | 加载 JSON 格式的配置文件 | 全部 |
| -B | --background | 在后台运行挖矿软件 | 全部 |
| -V | --version | 显示版本信息后退出 | 全部 |
| -h | --help | 显示此帮助后退出 | 全部 |
| --dry-run | 测试配置后退出 | 全部 | |
| --export-topology | 将 hwloc 拓扑导出到 XML 文件后退出 | 3.0.0+ | |
| --title | 设置自定义控制台窗口标题 | 6.0.1+ | |
| --no-title | 不设置控制台窗口标题 | 6.0.1+ | |
| --pause-on-battery | 使用电池供电时暂停挖矿 | 6.3.1+ | |
| --pause-on-active=N | 用户活动时暂停挖矿(最后一次活动 N 秒后恢复) | 6.9.0+ | |
| --stress | 运行持续压力测试以检查系统稳定性 | 6.4.0+ | |
| --bench=N | 运行基准测试,N 可在 1M 到 10M 之间 | 6.4.0+ | |
| --submit | 运行在线基准测试并提交结果以便分享 | 6.5.0+ | |
| --verify=ID | 按 ID 验证已提交的基准测试 | 6.5.0+ | |
| --seed=SEED | 基准测试使用的自定义 RandomX seed | 6.5.0+ | |
| --hash=HASH | 将基准测试结果与指定哈希比对 | 6.5.0+ | |
| --no-dmi | 禁用 DMI/SMBIOS 读取 | 6.8.0+ |
内存容量要求
每个 NUMA 节点的数据集需要 2080 MB,1 个 NUMA 节点通常对应 1 个 CPU 插槽,挖矿软件 会在启动时显示节点数量。
第一个 NUMA 节点上的缓存需要 256 MB。
每个挖矿线程需要 256 KB 二级缓存和 2 MB 三级缓存。
CPU 缓存要求是挖矿软件在大多数 CPU 上不使用全部线程的主要原因(这是一个非常 常见的问题)。在 Windows 上,4GB 内存可能不够系统和挖矿软件同时使用。
有几种方法可以增加或降低内存需求:
在 Linux 上使用 1GB 大页,每个 NUMA 节点的内存需求增加到 3GB(3 页), 算力提升 1-3%。
在 "randomx" 对象中设置 "numa": false 禁用 NUMA 支持,挖矿软件将只使用 1 个数据集,但 算力会明显下降;如果只有 1 个 NUMA 节点,此选项没有效果。
RandomX light 模式可将内存需求降低到 256 MB,但该模式非常慢,可在 "randomx" 对象中设置 "mode": "light" 启用。
可能需要多通道内存:
DDR3 内存每个通道的上限约为 1500-2000 H/s(取决于频率和时序)
DDR4 内存每个通道的上限约为 4000-6000 H/s(取决于频率和时序)
大页(Huge Pages)
大页可将 RandomX 性能最多提升 50%,1GB 大页(仅限 Linux)在普通大页的基础上 还能再提升 1-3% 算力。
硬件预取器 MSR 修改
要获得最佳 RandomX 性能,必须禁用硬件预取器。
Cache QoS
实验性功能:禁止所有未参与挖矿的 CPU 核心访问三级缓存, 以减少对挖矿的干扰。
