首页/AI/大模型部署与运维速查/模型加载慢:定位与加速
运维监控与排障50 条

模型加载慢:定位与加速

加载耗时由磁盘 IO、文件数量、校验与网络盘延迟决定;用分段计时量出加载阶段,区分冷缓存、慢盘还是网络盘,再对照手段加速。

加载慢从哪里来

模型加载的耗时由几件事叠加:磁盘读取权重、分片拼接与格式转换、把权重搬运到显存,以及加载之后的图捕获与预热。定位的关键是把这几个阶段分开计时,判断慢在冷缓存、慢盘,还是网络盘的小文件延迟。加载慢和推理慢是两回事,先量出来再谈优化。

基本信息

适用平台Linux 服务器,本地盘与 NFS、CIFS 网络盘
常用工具ls、free、iostat(sysstat 包)、time
关键变量磁盘类型、分片文件数量、并行读盘的进程数
权限要求普通用户即可,部分发行版查盘需 root

典型使用场景

  • 冷启动第一次慢:第二次走页缓存明显变快,属于正常现象
  • 网络盘小文件:文件数量多时延迟被放大,考虑本地盘或预热缓存
  • 多卡并行加载:张量并行下每个进程各自读盘,IO 压力成倍上涨
  • 格式转换与校验:启动期做转换或校验会占时间,可在构建镜像阶段前移
  • 重启风暴:多实例同时重启抢同一块盘,加载时间整体拉长

分段计时

分段计时
df -h /models                          # 先确认权重放在哪种存储上
ls -l /models/qwen | wc -l             # 分片数量,碎成大量小文件要警惕
free -h                                # 首次加载前后看缓冲区缓存的变化
iostat -x 1 5                           # 需装 sysstat,看盘吞吐与占用是否打满
time vllm serve /models/qwen --port 8000   # 从启动到就绪的总耗时

各阶段观察点

阶段观察点正常的慢与反常的慢
权重读取盘吞吐与占用率第一次冷读慢属正常,第二次仍慢要查盘
格式转换启动日志里的转换与校验记录每次启动都转换说明没做缓存
搬运到显存加载期间的显存占用曲线长时间停在固定值多为等待读盘
就绪前预热图捕获与预热日志的时间戳权重就绪不等于服务可用
把加载完成与服务就绪分开计时:权重就绪之后还有图捕获与预热,只报加载时间会低估真实的恢复时长。
权重用 safetensors 这类可直接映射的格式,通常比需要反序列化大对象的格式更快,也能避开加载期的额外内存峰值。

易错点

  • 在 NFS 上直接跑大模型:加载时间抖动大,容易被误判成服务性能问题
  • 只看总耗时不分段:冷缓存、慢盘、网络盘三类原因的处置手段完全不同
  • 多实例同时重启:同一块盘被打满,加载时间成倍拉长,重启要错峰
  • 把加载慢当容量问题:真正的并发瓶颈在缓存水位,加载慢只影响故障恢复时间

数据来源与参考

  • Hugging Face 官方文档:safetensors(设计包含速度考量)
  • vLLM 官方文档:Loading models(docs.vllm.ai)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌