首页/AI/大模型部署与运维速查/主机内存需求:别只盯显存

主机内存需求:别只盯显存

主机内存常被低估:模型加载缓冲(分片拼接/格式转换)、页缓存、swap-space 预留都吃内存;加载阶段的 OOM-killer 常被误读为模型问题。

主机内存常被低估

主机内存常被低估:模型加载缓冲、页缓存、交换空间预留都要占内存。加载阶段被系统杀掉进程的情况,常被误读成模型本身有问题,其实多数时候是内存不够。规划容量时把内存与显存放在一起算,才不会出现这类错判。

基本信息

适用平台部署大模型的 Linux 服务器
关注项加载缓冲、页缓存、交换空间预留
经验规划内存不低于权重体积的数倍,开交换或页缓存大时继续上浮
观察工具free 与系统内存信息接口

核对方法

核对方法
free -h
watch -n 1 free -h    # 加载大模型时观察内存峰值

典型使用场景

  • 加载前评估:按权重体积与并发需求核算内存
  • 量化转换:转换脚本自身的峰值内存常被忽略
  • 交换空间:开启后同步复核内存预算
  • 批量任务:离线任务的内存占用与在线服务不同

内存去向

内存用途为什么占异常表现
加载缓冲分片拼接与格式转换加载阶段进程被杀
页缓存权重文件被系统缓存可用内存偏低但可回收
交换空间缓存被换出到内存内存长期高位不降
经验规划:内存不低于权重体积的数倍;开启交换空间或页缓存较大时继续上浮。
配置联动:启用交换空间或跑量化转换脚本时同步复核内存预算,转换工具自身的峰值常被忽略。
区分页缓存与真实占用:内存被文件缓存占满属于正常现象,系统会在需要时回收。
内存水位也要设告警:加载阶段的内存峰值是有规律的,提前告警比事后翻日志省事得多。
容器部署要显式给内存上限:默认继承宿主内存时,加载阶段可能把整机一起拖慢。

易错点

  • 只看显存预算:加载时内存打满会触发系统杀进程,现象却表现为模型加载失败
  • 忽略转换脚本的峰值:量化转换时的内存占用可能远高于推理阶段
  • 把页缓存当泄漏:可用内存偏低但可回收,属于正常现象
  • 内存与并发分开规划:并发提高会带来额外内存开销,容量评估要一起算

数据来源与参考

  • vLLM 官方文档:显存与内存调优(docs.vllm.ai)
  • Linux 内核文档:/proc/meminfo(kernel.org)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌