如何零基础静态编译xmrig:从环境搭建到生产级部署指南
2026-04-19 08:35:49作者:申梦珏Efrain
xmrig是一款支持RandomX、KawPow、CryptoNight和GhostRider算法的多平台挖矿软件,通过静态编译可生成单个可执行文件,解决动态库依赖问题,特别适合需要跨系统部署的矿场管理员和技术爱好者。本文将带你从零开始完成静态编译全过程,无需深厚的Linux经验也能轻松掌握。
为什么选择静态编译xmrig? ⚙️
静态编译后的xmrig具有三大核心优势:
- 全系统兼容:生成单一可执行文件,可在任何Linux发行版直接运行
- 部署零依赖:无需预安装libuv、hwloc等系统库
- 运行更稳定:避免因动态库版本冲突导致的程序崩溃
准备编译环境 🛠️
安装基础工具链
根据你的Linux发行版选择对应命令:
Ubuntu/Debian系统:
sudo apt update && sudo apt install -y build-essential cmake git
CentOS/RHEL系统:
sudo yum groupinstall -y "Development Tools" && sudo yum install -y cmake git
获取源代码
克隆官方仓库并进入项目目录:
git clone https://gitcode.com/GitHub_Trending/xm/xmrig
cd xmrig
构建静态依赖库 📦
xmrig依赖多个第三方库,需要先编译它们的静态版本:
构建libuv静态库
./scripts/build_deps.sh uv
构建hwloc静态库
./scripts/build_deps.sh hwloc
构建OpenSSL静态库
./scripts/build_deps.sh openssl
提示:所有依赖库会自动安装到项目的
deps目录下,不会影响系统全局环境
配置CMake编译参数 ⚙️
创建构建目录并配置静态编译选项:
mkdir -p build && cd build
cmake .. -DBUILD_STATIC=ON \
-DWITH_HWLOC=ON \
-DWITH_OPENSSL=ON \
-DCMAKE_INSTALL_PREFIX=./output
关键参数说明:
-DBUILD_STATIC=ON:启用完全静态链接-DWITH_HWLOC=ON:包含硬件拓扑检测支持-DCMAKE_INSTALL_PREFIX:指定安装路径
执行编译过程 🔨
使用多线程加速编译:
make -j$(nproc)
编译完成后验证文件类型:
file xmrig
# 正确输出应为:ELF 64-bit LSB executable, x86-64, statically linked
验证与性能测试 ✅
基本功能验证
./xmrig --version
算法性能测试
./xmrig --benchmark --algo=rx/0
以下是xmrig v5.2.0版本运行界面示例,展示了RandomX算法的挖矿状态和性能指标:
生产环境部署最佳实践 🚀
系统优化配置
- 启用大页面支持:
sudo ./scripts/enable_1gb_pages.sh
- 配置CPU性能模式:
sudo cpupower frequency-set --governor performance
安全运行建议
- 使用普通用户权限运行,避免root权限
- 定期备份配置文件
src/config.json - 设置自动重启机制应对程序异常退出
常见问题速解 ❓
编译时提示"找不到OpenSSL"
确保已执行./scripts/build_deps.sh openssl,并检查CMake输出是否有OpenSSL found字样。
运行时内存分配失败
执行./scripts/enable_1gb_pages.sh配置大页面,或减少线程数降低内存占用。
性能低于预期
检查CPU是否支持AES-NI指令集,可通过grep aes /proc/cpuinfo验证。
总结与后续更新
通过本文步骤,你已成功构建了静态编译的xmrig挖矿程序。建议定期通过git pull获取最新代码,以获得性能优化和算法更新。完整的高级配置选项可参考项目文档:doc/API.md。
项目开发活跃,建议关注src/version.h文件获取版本更新信息,及时应用安全补丁和功能改进。
登录后查看全文
热门项目推荐
相关项目推荐
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0223
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0142
uni-appA cross-platform framework using Vue.jsJavaScript09
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook04
热门内容推荐
最新内容推荐
项目优选
收起
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
470
467
deepin linux kernel
C
32
16
暂无描述
Dockerfile
781
5.09 K
Ascend Extension for PyTorch
Python
759
969
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
703
1.41 K
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed.
Get Started
Rust
2.12 K
222
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
885
2.03 K
本仓库是 Flutter SDK 与 Flutter Engine 的 OpenHarmony 适配版本,由 CPF-Flutter 团队维护。开发者可使用熟悉的 Flutter 技术栈开发 OpenHarmony 应用,3.35.7 及以后的适配版本可基于本仓库源码构建支持 OpenHarmony 的 Flutter Engine。
Dart
1.04 K
272
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
C
462
5.48 K
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.1 K
1.15 K
