Ollama 冷加载的时间大头不在读盘:小模型 93% 花在固定开销上

排障 · 8.371 GiB vs 0.2555 GiB · 各 5 次取样L0整理于 2026-10-19 有效期 30d

本机 RTX 5090D 32GB + Ollama 0.40.4 的「模型冷加载 vs 裸顺序读权重文件」同条件对照。14B 对话模型(qwen2.5:14b Q4_K_M)权重 8,988,110,688 B = 8.371 GiB,裸读 5 次 2.3886–2.4324 秒(3.441–3.504 GiB/s);Ollama 冷加载 5 次 2.9155–2.9447 秒(2.843–2.871 GiB/s)。embedding 模型(nomic-embed-text F16)权重 274,290,656 B = 0.2555 GiB,裸读 0.0749–0.0825 秒(3.097–3.410 GiB/s);Ollama 冷加载 5 次 1.1287–1.1353 秒(仅 0.226 GiB/s)。两者相减得每次加载的固定成本:14B 约 0.51 秒(占 17%)、embedding 约 1.06 秒(占 93.4%)。因此体积涨 32.8 倍,加载时间只涨 2.58 倍。另做 3 轮页缓存对照(先裸读一遍再加载 vs 直接加载),差值 0.011 / 0.013 / 0.011 秒且方向不一致,说明预读无效。

Ollama冷加载模型加载本地部署固定开销页缓存load_duration小模型embedding读盘

这条适用于

版本指纹

Windows 11 + RTX 5090D 32GB;Ollama 0.40.4;qwen2.5:14b(Q4_K_M / 14.8B / 8.371 GiB)+ nomic-embed-text(F16 / 0.2555 GiB)

具体做法

环境:本机 RTX 5090D 32GB / Ollama 0.40.4,权重置于 D 盘 NVMe(INTEL SSDPF2KX19T1M),OLLAMA_MODELS=D:\models\ollama,2026-10-19。
【14B 对话模型(qwen2.5:14b Q4_K_M,权重 8,988,110,688 B = 8.371 GiB)】
· 裸顺序读 5 次:2.4324 / 2.4132 / 2.4152 / 2.4262 / 2.3886 秒 → 3.441–3.504 GiB/s
· Ollama 冷加载 5 次:2.9447 / 2.9165 / 2.9372 / 2.9155 / 2.9209 秒 → 2.843–2.871 GiB/s
· 差值(固定成本)≈ 0.51 秒,占加载耗时 17%
【embedding 模型(nomic-embed-text F16,权重 274,290,656 B = 0.2555 GiB)】
· 裸顺序读 3 次:0.0825 / 0.0750 / 0.0749 秒 → 3.097–3.410 GiB/s
· Ollama 冷加载 5 次:1.1287 / 1.1298 / 1.1353 / 1.1308 / 1.1313 秒 → 0.226 GiB/s
· 差值(固定成本)≈ 1.06 秒,占加载耗时 93.4%

【页缓存对照(交替 3 轮)】
· 直接加载:3.1894 / 2.9362 / 2.9606 秒
· 先裸读一遍再加载:3.2007 / 2.9494 / 2.9498 秒(裸读本体 2.4364 / 2.4073 / 2.4124 秒)
· 差值:+0.011 / +0.013 / −0.011 秒 → 预读无收益

【已加载态再请求(验证无重载)】
· load_duration:0.001053 / 0.003125 / 0.001053 秒

【预填充随输入长度(同模型已常驻)】
· prompt 50 / 500 / 2000 / 8000 字 → 74 / 411 / 1536 / 6036 token → 0.1925 / 0.859 / 4.4553 / 23.624 秒

失效边界
本结论为本机实测(2026-10-19;RTX 5090D 32GB / Ollama 0.40.4)。加载耗时取自 Ollama 接口返回的 load_duration 字段,非手工计时;裸读由 Python read() 无缓冲顺序读权重 blob 实测。本组测量期间本机另有一个占用 GPU 的后台进程在运行,load_duration 由 Ollama 内部计时、不受其影响,故时间数据有效;涉及功耗与占用率的数据本轮未采用。不同模型的加载结构不同,本文结论基于 qwen2.5:14b 与 nomic-embed-text 这两个具体模型,不外推到所有模型。
← 本地 14B 写长文有天花板:要 5000 字只给 2400,且它自己认为写完了模型文件先读头再加载:260 KB 看清 1438 个张量,别让加载器替你全读 16 GiB →

← 返回全部排错方案