首页/AI/大模型部署与运维速查/KV swap:用 CPU 内存做缓冲
推理参数与优化50 条

KV swap:用 CPU 内存做缓冲

KV 显存不足时把被抢占请求的 KV 换出到 CPU 内存,需要时再换回:vLLM 提供 swap-space 配置交换空间大小,属于缓冲手段而非常态扩容方案。

把缓存换出到内存

缓存显存不足时,引擎可以把被抢占请求的缓存换出到主机内存,需要时再换回来。这是缓冲手段,不是扩容方案:换入换出会引入延迟抖动,只适合应对偶发的显存尖峰。频繁发生抢占时,正确的做法是扩卡、降低并发或缩短窗口。

基本信息

适用平台支持交换空间的推理引擎
配置方式启动参数指定交换空间大小
常见默认默认值通常在几 GiB 量级,按机器空闲内存评估
性质缓冲手段,不是扩容方案

配置交换空间(示意)

配置交换空间(示意)
vllm serve <模型路径> --swap-space 8   # 单位 GiB,按机器内存与负载评估

典型使用场景

  • 偶发尖峰:短时间并发冲高时,给被抢占的请求一个缓冲
  • 内存充裕的机器:主机内存明显富余时可以开大一些
  • 对照实验:关闭与开启交换各测一次,比较尾延迟
  • 排查参考:频繁换出会让尾延迟出现周期性抬升

信号与处置

现象含义处置
抢占计数上升显存已经不够用降低并发或缩短窗口
尾延迟周期性抬升换入换出在反复发生扩卡或减少对交换的依赖
主机内存占用上涨换出的缓存占住了内存核对内存预算与交换空间设置
换入换出会引入延迟抖动:出现频繁抢占时,优先扩卡、降低并发或缩短窗口。
参数起点:交换空间默认值通常在几 GiB 量级,先按机器空闲内存评估;频繁换出的信号是抢占指标与尾延迟同时抬升。
交换空间是显存与内存之间的缓冲:主机内存本身不足时,开大它只会把问题转移到内存侧。
换出还要占带宽:缓存从显存搬到内存再搬回来,走的是主机侧通道,频繁搬动会与主机数据搬运争抢带宽。

易错点

  • 把交换当扩容用:反复换入换出会拉高尾延迟,表现为周期性变慢
  • 主机内存本来就紧张仍开大交换:内存压力上升,甚至触发系统级回收与杀进程
  • 不看抢占指标:只盯显存水位,会把频繁抢占当成随机抖动
  • 开关切换不做对照:改参数的同时又调并发,效果分不清来自哪一项

数据来源与参考

  • vLLM 官方文档:Engine 参数与优化(docs.vllm.ai)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌