编辑部快讯
第 2418 号 · 2026-10-27 · 晚间版

US 美国10-27 21:46⏱ 2 分钟

llama.cpp b11930 发布:server 支持按设备内存余量动态卸载模型

llama.cpp b11930 发布:server 支持按设备内存余量动态卸载

server:新增路由设备内存余量参数,支持动态卸载( #21231 )。server:新增 --models-memory-max 参数,当模型超过内存大小阈值时允许动态卸载;估算时计入待加载模型的大小;使用 no_alloc 仅获取模型加载所需内存;设置模型……

server:新增路由设备内存余量参数,支持动态卸载( #21231 )

server:新增 --models-memory-max 参数,当模型超过内存大小阈值时允许动态卸载模型

估算时计入待加载模型的大小

使用 no_alloc 仅获取模型加载所需内存

若此前未计算,则设置模型的 memory_mb

改用内存余量而非总大小上限,并分别应用到每台设备

新增 server 内存调试日志

将 llama_context_device_memory 函数移至 llama-ext.h

修复模型数量超限检查

改进 memory_per_device 映射的命名

改进变量命名,修正风格

同时让子进程也扣除模型内存余量

续:清理

用 buft 内存映射替换设备内存映射,改用 llama_get_memory_breakdown

把重复的检查提取为辅助函数

将模型内存估算移至子进程

预计算 name->buft 映射,将 GPU host 类型映射到 CPU buft

清理未使用变量

移除重复的 init 调用

适配上游变更

wip

common_memory_reports 接口

SERVER_ROLE_MEASURE

server-models-sched

修复构建

server:修复 measure 子进程的内存记账与 claim 自旋

measure 子进程以 no_alloc 运行,因此它报告的空闲内存不包含自身的估算:在那里扣减自身,会把其他进程占用的内存一并抹掉,开启 --fit 时甚至归零,下一次加载便可能超出余量。因此只对实例报告扣减自身。

排队中的加载此前只在认领前检查 --models-max,因此当内存余量把它挡在某个繁忙模型之后时,load() 抛出异常,等待方陷入紧密循环重试。现在的做法是:在超出限额且没有可卸载的空闲模型时拒绝认领,让等待方在条件变量上休眠,直到有模型空闲下来。

Co-authored-by: Xuan Son Nguyen son@huggingface.co

Co-authored-by: Pascal admin@serveurperso.com

Website: https://llama.app

Attestations: https://github.com/ggml-org/llama.cpp/attestations/60393615

发布说明另附各平台构建产物清单。

本页为站内快照,仅作聚合阅读;内容来自公开网络,版权归原作者所有。