llama.cpp显存不足
failed to allocate buffer for kv cache 报错
报错原文
failed to allocate buffer for kv cache
是什么意思
权重已经加载成功,但按你要求的上下文长度,已经没有空间放 KV 缓存。后面通常还会跟一行 "failed to initialize the context"。
为什么会出现
- 上下文(
-c,或 Ollama 的num_ctx)太长,权重剩下的显存装不下。
怎么解决
- 调低
-c。上下文长度页列出了常见显卡上常见模型能开多长;任意组合都可以用计算器算出最长上下文。 - 用
-ctk q8_0 -ctv q8_0量化缓存(Ollama 用OLLAMA_KV_CACHE_TYPE=q8_0),大约能多装一倍上下文。 - 或者换更小的量化档位,给缓存留出更多空间。
改参数之前,先核对大小
大多数显存报错其实是大小问题。把模型、量化档位、上下文和你的显卡填进显存计算器:如果那里是红色,什么参数都没法让它装下。
相关报错
核对来源
报错原文于 2026-10-26 从源码中读取核对。