小显存别碰 INT8/BF16:为什么又慢又费 SSD

更新于 2026-09 · 结论基于本站内存层级模型与社区实测

一个很常见的误区:显卡小(8-12GB),但为了「画质更好」去下 INT8(19.5-34GB) 甚至 BF16(40-66GB)权重。结果就是——每一条视频都在折磨你的硬盘,而且慢到怀疑人生。 这篇文章把账算清楚,然后给你正确选择。

先理解三层内存:显存 → 内存 → 硬盘

ComfyUI 跑 H3 时,权重必须站在显存里才能被计算。放不下的部分会经历这样一条链:

  1. 显存(VRAM):放得下的部分正常计算;
  2. 系统内存(RAM):放不下的权重以「每步搬运」的方式经 PCIe 送进显存。PCIe 4.0 实际约 24GB/s, PCIe 5.0 约 48GB/s——听起来快,但这是每一步都要搬一次的代价;
  3. 硬盘(页文件 / 页缓存):当内存也装不下时(例如 32GB 内存要同时容纳 14.6GB 文本编码器 + 19.5GB 主模型),系统只能把数据放到硬盘。页文件读写只有 NVMe 的 3-5GB/s—— 比内存慢 10-20 倍。

算一笔账:12GB 显卡跑 INT8 主模型(19.5GB),每步约有 10-13GB 权重需要搬运。 走 PCIe 约 +0.5 秒/步;一旦落到硬盘,就变成 +2.5-3.5 秒/步——4 步加速也救不回来。

为什么「伤 SSD」:两种模式,两种代价

模式数据在哪硬盘行为后果
默认(匿名内存) 权重副本占用内存 页文件写入 + 读取(每步换入换出) SSD 写入量上升 → 真实消耗 TBW 寿命;速度最慢
--fast-disk 权重放在页缓存(可回收) 主要是读取(每步从 NVMe 重读) 写入很少(不伤寿命),但读放大同样让速度暴跌

社区实测:8GB 显卡 + 小内存跑一条片段,单次采样从硬盘读取可达 270GB, 而写入只有 0.04GB(fast-disk 模式);另一组「16GB 内存 + 46GB 页文件」的默认模式测试中, 5 秒视频要 389 秒、10 秒 768 秒、15 秒直接失败——页文件被反复擦写。

为什么明明有 46GB 页文件,还是这么慢?因为页文件只是「不至于崩溃」的兜底,不是可用的计算内存。 每步都要经历「从盘读回 → 用 → 再换出」,这条路比内存慢一个数量级。

SSD 寿命的直观数字

以主流 1TB TLC 固态(保修写入量 600TBW)为例,默认模式下一页文件写入按每条约 30-50GB 计(含换页反复),100 条视频约消耗 0.5-0.9% 的健康度; 如果你每天跑 10 条,一个月就是 1.5-2.7%。对 QLC 硬盘还要再翻倍。 而换用合适的量化 + 足够内存,这个数字可以直接变成 0。

有没有例外?BF16 在什么情况下才值得

BF16 全精度(61.7GB)在消费级显卡上基本没有实用场景:显存放不下、内存放不下、 每步要搬运 50GB 以上,最终速度是 INT8 的几分之一。真正需要 BF16 的是 96GB 显存 + 128GB 内存以上的工作站——对绝大多数人,量化损失(INT8 实测约 0.9%, W4A8 约 0.073 相对误差)换来的是 3-5 倍的速度。

正确选择表(按显存档位)

显存推荐量化内存底线预期行为
8GBGGUF Q3(8.9GB)16GB + 48GB 页文件(NVMe)540p 短线,5-8 分钟/条,可接受
8GB + 想更好GGUF Q4(11.6GB)32GB权重更多驻留内存,页文件压力小
12GBW4A8(12.5GB)或 GGUF Q432GB(64GB 更佳)每步搬运量比 INT8 少一半,速度稳定
16GB剪枝 INT8(20.97GB)+ 4 步加速64GB 或 --fast-disk540p-768p 可用;SSD 只读不写

--fast-disk 加进启动参数是「保 SSD」的关键一步:它让权重从「匿名内存」 变成「可回收的页缓存」,写放大基本消失,代价是内存不足时读盘变慢。

用计算器验证你自己的配置

打开 WhichH3 计算器:在「第 1 步」填显存/内存/页文件, 第 3 步的每个格子会直接显示 每步 SSD 读取页文件写入/条、SSD 折损/100 条。 你能一眼看出:换小一档量化,写入量是怎么从几十 GB 变成 0 的。

结论