跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
C++AI

Ubuntu 下 llama.cpp 编译与性能调优实战

Ubuntu 环境下编译 llama.cpp 需先配置基础开发工具及 CUDA 依赖,通过 CMake 构建静态库。编译后生成的 main 与 server 等二进制文件支持本地推理与服务化部署。性能调优重点在于 GPU 层数设置、线程数分配及内存映射策略,需根据显存容量与计算资源灵活权衡,以实现速度与稳定性的最佳平衡。

晚风叙旧发布于 2026/4/5更新于 2026/4/262 浏览

Ubuntu 下 llama.cpp 编译与性能调优实战

llama.cpp 作为轻量级 LLM 推理框架,在本地部署中表现优异。下面分享一套完整的编译与优化方案,涵盖从基础环境搭建到高级性能调优的关键步骤。

环境准备与基础编译

开始之前,确保系统满足基本要求。Ubuntu 22.04 LTS 是最推荐的版本,软件包支持稳定且兼容性好。

首先更新系统并安装必要的开发工具:

sudo apt update && sudo apt upgrade -y

接着安装构建依赖,包括编译器、CMake 和 Git:

sudo apt install -y build-essential cmake git curl libcurl4-openssl-dev

如果希望使用 CUDA 加速,还需要安装 NVIDIA 驱动和 CUDA 工具包:

sudo apt install -y nvidia-driver-535 nvidia-cuda-toolkit

接下来获取源代码并初始化构建目录:

git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
mkdir build && cd build

基础编译配置使用 CMake 完成。对于纯 CPU 环境,推荐以下配置:

cmake .. -DLLAMA_CURL=ON -DBUILD_SHARED_LIBS=OFF

提示:-DLLAMA_CURL=ON 启用了 HTTP 支持,-DBUILD_SHARED_LIBS=OFF 创建静态链接库,便于后续部署。

编译过程可以使用多线程加速,这能显著缩短等待时间:

cmake --build . --config Release -j $(nproc)

编译完成后,主要生成以下可执行文件:

文件名功能描述
main命令行推理主程序
serverHTTP 服务接口
quantize模型量化处理工具
perplexity困惑度评估工具

性能调优关键点

编译只是第一步,实际运行时的性能往往取决于参数配置。在调用 main 或 server 时,有几个核心参数值得注意:

  1. GPU 层数 (-ngl):这是影响速度的关键。设置 -ngl 999 可以尽可能将模型层卸载到 GPU,但需确保显存充足。
  2. 批处理大小 (-t):线程数通常设为物理核心数,但在多任务场景下适当减少可避免上下文切换开销。
  3. 内存映射 (-mmap):当显存不足时,开启内存映射可以将部分数据加载到系统内存,虽然速度稍慢但能防止 OOM。

这些调整需要根据硬件情况灵活权衡,建议先在测试集上验证效果再投入生产。

目录

  1. Ubuntu 下 llama.cpp 编译与性能调优实战
  2. 环境准备与基础编译
  3. 性能调优关键点
  • 💰 8折买阿里云服务器限时8折了解详情
  • 💰 8折买阿里云服务器限时8折购买
  • 🦞 5分钟部署阿里云小龙虾了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • WebAssembly 逆向实战:反编译与内存篡改技巧
  • Llama-Factory 训练进度条卡住排查与优化指南
  • AI 编程助手助力 Java 老项目重构:47 分钟消除技术债
  • Python Anaconda 与 Pip 配置清华镜像源指南
  • GitHub Copilot 使用指南与功能解析
  • OpenCode 命令行 AI 编程代理使用指南
  • AI 驱动移动机器人提升化学合成效率,Nature 发表智能实验室研究
  • DREAM 数据库:脑电与梦境配对研究的新里程碑
  • Ocbot:一款开源的 AI 原生浏览器深度解析
  • 开源无审查大型语言模型技术概览
  • OpenVLA-OFT+ 在真实世界 ALOHA 机器人任务中的应用
  • Git Stash 机制详解与 VSCode 可视化操作指南
  • Whisper-large-v3-turbo 模型部署与性能优化实战
  • VSCode 禁用 Copilot 代码自动补全
  • Virt-A-Mate 虚拟现实交互软件功能简介
  • 接入第三方 OpenAI 兼容模型到 GitHub Copilot
  • 清华教授评大学现状:像工厂,学生未老先衰
  • Spring Boot 消息队列集成与异步通信实战
  • 数据库迁移 TCO 全景账本:MySQL 替代中的隐性成本与工程化工具链实测
  • Python 构建 NLP 模型实战:从预处理到部署

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online