30GB 内存 4 核 CPU 上跑 16B MoE:GGUF 量化与 KV Cache 的实战调优账本
公司那台 K8s worker 是台「三无」机器:无 GPU、4 核 8 线程(AMD EPYC 9754)、30GB 内存,CentOS 7 + nerdctl,还要兼顾集群负载。我在上面用 llama-server 跑了一个给 IDE 用的代码补全/问答服务,模型从 16B 的 DeepSeek-Coder-V2-Lite 到 135M 的 SmolLM2 随意切换。这篇把选型账本和踩坑记录写下来:量化怎么选、KV Cache 每个 token 到底吃掉多少内存、CPU 上 prefill 为什么比 decode 还慢、KV cache 满载时日志长什么样。上一篇讲了 CentOS 7 + nerdctl 编译 llama.cpp 的完整流程,这篇是运行期的优化。GPU 侧的理论对比(Continuous Batching、PagedAttention)见 vLLM 推理面试题,投机解码 是另一条优化路线,这里只谈 CPU 上最现实的三个杠杆:量化、KV Cache、并发槽位。