把缓存换出到内存
缓存显存不足时,引擎可以把被抢占请求的缓存换出到主机内存,需要时再换回来。这是缓冲手段,不是扩容方案:换入换出会引入延迟抖动,只适合应对偶发的显存尖峰。频繁发生抢占时,正确的做法是扩卡、降低并发或缩短窗口。
基本信息
| 适用平台 | 支持交换空间的推理引擎 |
|---|---|
| 配置方式 | 启动参数指定交换空间大小 |
| 常见默认 | 默认值通常在几 GiB 量级,按机器空闲内存评估 |
| 性质 | 缓冲手段,不是扩容方案 |
配置交换空间(示意)
配置交换空间(示意)
vllm serve <模型路径> --swap-space 8 # 单位 GiB,按机器内存与负载评估典型使用场景
- 偶发尖峰:短时间并发冲高时,给被抢占的请求一个缓冲
- 内存充裕的机器:主机内存明显富余时可以开大一些
- 对照实验:关闭与开启交换各测一次,比较尾延迟
- 排查参考:频繁换出会让尾延迟出现周期性抬升
信号与处置
| 现象 | 含义 | 处置 |
|---|---|---|
| 抢占计数上升 | 显存已经不够用 | 降低并发或缩短窗口 |
| 尾延迟周期性抬升 | 换入换出在反复发生 | 扩卡或减少对交换的依赖 |
| 主机内存占用上涨 | 换出的缓存占住了内存 | 核对内存预算与交换空间设置 |
换入换出会引入延迟抖动:出现频繁抢占时,优先扩卡、降低并发或缩短窗口。
参数起点:交换空间默认值通常在几 GiB 量级,先按机器空闲内存评估;频繁换出的信号是抢占指标与尾延迟同时抬升。
交换空间是显存与内存之间的缓冲:主机内存本身不足时,开大它只会把问题转移到内存侧。
换出还要占带宽:缓存从显存搬到内存再搬回来,走的是主机侧通道,频繁搬动会与主机数据搬运争抢带宽。