위키득계정 ↗
기술

Memray

Memray기술
개발 프로젝트
Bloomberg
주요 대상
Python 메모리 할당
관측 범위
Python과 네이티브 코드
지원 환경
Linux와 macOS
Memray는 Python 프로그램의 메모리 할당을 추적하는 프로파일러다. Python 코드와 네이티브 확장 및 인터프리터 내부의 할당을 관측하고 호출 경로와 보고서로 높은 메모리 사용의 원인을 조사하도록 한다.

할당과 호출 경로의 연결

메모리 할당이 어느 실행 경로에서 발생했는지 추적한다. Python 코드뿐 아니라 C와 C++ 확장 라이브러리 및 인터프리터 자체에서 발생한 할당도 다룬다. Python 스레드와 네이티브 스레드의 동작도 지원 범위에 포함한다.

기록과 보고서의 분리

프로그램을 실행하며 얻은 할당 자료를 결과 파일로 남기고 이후 보고서를 생성할 수 있다. 플레임 그래프와 표 및 트리나 요약 통계 등으로 결과를 본다. 원자료 수집과 표현 방식을 나눠 같은 기록을 다른 관점에서 조사한다.

분석 용도와 사용 방식

메모리 사용량이 큰 원인과 누수 및 할당이 집중되는 위치를 찾는 데 활용한다. 명령행 도구 외에 라이브러리로 세부 구간을 분석할 수도 있다. 이미 실행 중인 프로세스에 연결해 추적을 시작하거나 터미널에서 할당 상태를 관측하는 기능도 제공한다.

관련 문서

Scalene 프로파일러 / py-spy / Austin 프로파일러 / Memcheck / Python / 프로파일링