研究硬件与推理 🇺🇸 27.07.2026 17:02

Mistral AI工程师使用BPFtrace发现vLLM内存泄漏的真实原因

MistralMistral
Mistral AI工程师在Mistral Medium 3.1的分片服务中调查了vLLM的内存泄漏问题。在使用Python工具、Heaptrack和BPFtrace后,他们发现泄漏是由glibc系统调用包装器直接调用mmap导致的,而非堆分配。
Mistral AI 团队在前沿模型 Mistral Medium 3.1 的分立式服务预生产测试中,发现 vLLM 存在疑似内存泄漏。该泄漏表现为特定条件下系统内存以每分钟 400 MB 的速率持续增长:启用 vLLM、Mistral Medium 3.1 和图编译时,仅出现在使用 NIXL 的预填充/解码分立设置的解码端。最初的 Python 工具(如 Memray 和 Guppy 3)未显示泄漏,而 Heaptrack 仅揭示了峰值常驻内存大小(RSS)的差异。通过使用 pmap 监控 /proc/<pid>/maps,他们观察到不断增长的匿名内存映射,其地址不断变化,这是 mremap 或重复 mmap/munmap 循环的特征。为精确定位原因,他们使用 BPFtrace 跟踪系统调用,发现这些分配是通过 glibc 的系统调用包装器(syscall+29)直接调用 mmap 完成的。这表明泄漏位于堆管理之外,需要低层级跟踪来识别。
来源: Mistral AI — 原文
我们之前关于此话题的帖子 ↓
最新新闻