연구하드웨어 및 추론 🇺🇸 27.07.2026 17:02

Mistral AI 엔지니어, BPFtrace 사용해 vLLM 메모리 누수의 실제 원인 발견

MistralMistral
Mistral AI 엔지니어들은 Mistral Medium 3.1로 분산 서비스 중 vLLM에서 메모리 누수를 조사했습니다. Python 도구, Heaptrack, BPFtrace를 사용한 후, 누수가 힙 할당이 아닌 glibc의 syscall 래퍼를 통한 직접적인 mmap 호출로 인해 발생했음을 발견했습니다.
Mistral AI 팀은 자사의 최전선 모델인 Mistral Medium 3.1을 사용한 분산 서비스의 사전 프로덕션 테스트 중 vLLM에서 의심되는 메모리 누수를 조사했습니다. 이 누수는 특정 조건(vLLM, Mistral Medium 3.1, 그래프 컴파일 활성화, 그리고 NIXL을 사용한 프리필/디코드 분산 설정의 디코드 측에서만)에서 시스템 메모리가 분당 400MB씩 꾸준히 증가하는 형태로 나타났습니다. Memray나 Guppy 3과 같은 초기 Python 도구로는 누수를 발견할 수 없었고, Heaptrack은 피크 RSS(Resident Set Size, 상주 세트 크기)의 차이만을 드러냈습니다. pmap을 사용하여 /proc/<pid>/maps를 모니터링한 결과, 주소가 변경되는 익명 메모리 매핑이 증가하는 것을 관찰했으며, 이는 mremap 또는 반복적인 mmap/munmap 주기의 특징입니다. 정확한 원인을 찾기 위해 BPFtrace를 사용하여 시스템 호출을 추적한 결과, 할당이 glibc의 시스템 호출 래퍼(syscall+29)를 통한 직접 mmap 호출로 이루어짐을 확인했습니다. 이는 누수가 힙 관리 외부에서 발생하며, 이를 식별하기 위해 저수준 추적이 필요함을 보여주었습니다.
출처: Mistral AI — 원문
관련 게시물 ↓
새로운 뉴스