KV Cache 不能“随用随丢”或立即释放核心原因在于LLM 算法的计算依赖与GPU 显存管理的工程代价。具体体现在以下几个方面自回归Autoregressive依赖后一个 Token 必须看到前面所有 Token在 Decode 阶段生成第NNN个 Token 时Attention 层需要与第111到第N−1N-1N−1个 Token 的 K 和 V 矩阵做点积。如果把前面的 KV 释放了生成下一个 Token 时就无法计算注意力除非把所有历史 Token 重新做一次昂贵的 Prefill 计算。显存分配与回收的巨额开销显存碎片与 CUDA API 阻塞如果在 GPU 上频繁执行细粒度的显存分配与释放如频繁调用cudaFree会导致极高的 CPU-GPU 同步等待开销并引发严重的显存碎片。像 vLLM 等现代推理框架采用了类似操作系统页表PagedAttention的内存池技术。显存是以“页/块Block”为单位统一预分配的即便某个 Token 结束了也必须等到整块 Block 上的所有 Token 都失效且没有其他句柄引用时才会被标记回收放回空闲池。投机解码与多分支采样的引用锁Tree Attention / Beam Search在投机解码或 Parallel Sampling 中多个候选 Token 树分支会共享同一个祖先节点Prefix的 KV Cache。此时系统存在引用计数Reference Count。只有当某个分支被彻底拒绝、且没有其他活跃分支依赖该段 KV 时这部分 KV 才能被清空。Prefix Caching前缀缓存复用系统提示词System Prompt、长上下文或多轮对话的历史 KV往往会被多个并发请求或后续对话复用。推理框架通常会采用 LRU最近最少使用策略将这些 KV 保留在显存或 Swap 中而不是立即释放以此换取后续请求“零 Prefill 延迟”的巨大吞吐提升。