Windows Ollama 全局开启KV内存缓存完整教程(永久生效,解决12G显存爆显存)
Windows Ollama 全局开启KV内存缓存完整教程(永久生效,解决12G显存爆显存)
核心原理
必须同时设置2个环境变量才能生效,缺一不可:
1. OLLAMA_FLASH_ATTENTION=1 :开启Flash Attention,KV缓存量化功能才会激活
2. OLLAMA_KV_CACHE_TYPE=q4_0 :KV缓存4位量化,显存占用直接降到1/4,缓存溢出自动丢系统内存(你大内存机器最优)
可选配套优化变量一并加上:
- OLLAMA_NUM_PARALLEL=1 :禁止多并发推理,防止显存瞬间峰值溢出
- OLLAMA_KEEP_ALIVE=-1 :模型常驻内存,避免反复加载超时
- OLLAMA_MAX_LOADED_MODELS=1 :只允许加载1个模型,减少显存抢占
一、Windows 永久全局配置(推荐,重启电脑仍有效)
步骤1:打开环境变量面板
1. Win+S 搜索:编辑系统环境变量
2. 弹出「系统属性」→ 切换到高级标签 → 右下角【环境变量】
步骤2:新建系统变量(全局所有程序生效)
下方系统变量区域点【新建】,依次创建5条变量(全部大写):
1. 变量名: OLLAMA_FLASH_ATTENTION
变量值: 1
2. 变量名: OLLAMA_KV_CACHE_TYPE
变量值: q4_0
3. 变量名: OLLAMA_NUM_PARALLEL
变量值: 1
4. 变量名: OLLAMA_KEEP_ALIVE
变量值: -1
5. 变量名: OLLAMA_MAX_LOADED_MODELS
变量值: 1
说明:
- q4_0:极致省显存,适合12G小显卡;追求轻微更好质量可选 q8_0 (显存减半)
- 不要只设置缓存类型,不开Flash Attention,参数完全不生效
步骤3:保存+彻底重启Ollama(关键)
1. 全部点【确定】逐层关闭窗口
2. 右下角任务栏找到Ollama图标,右键退出
3. 打开任务管理器,结束所有 ollama.exe 、 ollama-runner.exe 进程
4. 重新从开始菜单启动 Ollama,新环境变量加载完成
二、临时生效方案(仅当前CMD/PowerShell窗口,重启失效)
适合临时测试,不用改系统设置
PowerShell管理员执行:
powershell
$env:OLLAMA_FLASH_ATTENTION="1"
$env:OLLAMA_KV_CACHE_TYPE="q4_0"
$env:OLLAMA_NUM_PARALLEL="1"
ollama serve
新开终端在这个窗口里运行模型,关闭窗口配置失效。
三、验证是否配置成功
1. 完全重启Ollama后,运行任意模型
bash
ollama run qwen3.5:4b-reasoning
2. 观察任务管理器GPU显存占用:长对话上下文显存上涨幅度明显变小,多余缓存自动分流到系统内存;
3. 排查失效:确认完全退出Ollama,不要最小化托盘,必须彻底关闭进程再重启。
四、适配你12G显卡的参数选择建议
1. 日常OpenClaw多工具长任务: OLLAMA_KV_CACHE_TYPE=q4_0 (显存压力最小,12G卡首选)
2. 偶尔深度推理、追求轻微画质提升: q8_0 ,显存占用减半,精度损失极小
3. 默认f16:缓存不压缩,12G显卡极易OOM,不推荐长期使用
五、常见踩坑
1. 只设置 OLLAMA_KV_CACHE_TYPE ,没开 FLASH_ATTENTION=1 → 缓存完全不压缩,设置无效
2. 修改环境变量后没彻底退出Ollama进程 → 旧配置继续运行,看不到效果
3. 设置在「用户变量」而非「系统变量」:部分第三方调用(OpenClaw)读取不到,建议统一加到系统变量