[vLLM 메모리 누수 디버깅: 힙(Heap) 너머 UCX와 mmap의 미스터리
vLLM의 Prefill/Decode 분리 서빙 환경에서 발생하는 메모리 누수 문제를 분석한 결과, 고성능 통신 라이브러리 UCX가 mmap/munmap 호출을 가로채고 해제된 메모리를 무한정 큐에 쌓아두는 것이 원인임을 발견했습니다. 이를 해결하기 위해 UCX의 메모리 후킹 기능을 비활성화하는 환경 변수를 설정했습니다.
[vLLM 메모리 누수 디버깅: 힙(Heap) 너머 UCX와 mmap의 미스터리
vLLM의 Prefill/Decode 분리 서빙 환경에서 발생하는 메모리 누수 문제를 분석한 결과, 고성능 통신 라이브러리 UCX가 mmap/munmap 호출을 가로채고 해제된 메모리를 무한정 큐에 쌓아두는 것이 원인임을 발견했습니다. 이를 해결하기 위해 UCX의 메모리 후킹 기능을 비활성화하는 환경 변수를 설정했습니다.