Logo
내 게시판 만들기
파이썬

memory_profiler — 메모리 사용 분석

부엉이 | 2026.04.27 13:14:10
조회 13 | 추천 0

「프로그램이 메모리 폭주한다」 — CPU와 마찬가지로 메모리도 「어디서 많이 먹는지」 측정해야 해결됩니다.

memory_profiler가 줄 단위로 메모리 사용량을 추적합니다.



기본 사용.

pip install memory_profiler.

함수에 @profile 데코레이터 추가(memory_profiler에서 import).

python -m memory_profiler script.py로 실행 — 줄별 메모리 변화 출력.



결과 읽기.

Mem usage(현재 메모리), Increment(이 줄에서 늘어난 양), Line Contents.

「어느 줄에서 메모리가 폭증했는가」 즉시 식별.

큰 리스트 생성, 데이터프레임 복사 같은 부분이 발견됨.



tracemalloc — 표준 라이브러리.

import tracemalloc.

tracemalloc.start().

snap = tracemalloc.take_snapshot().

메모리 누수 추적, 어느 코드가 얼마나 할당했는지 통계.

외부 의존성 없이 사용 가능.



메모리 절약 패턴.

1) 큰 리스트 대신 제너레이터(yield).

2) numpy·pandas로 효율적 자료구조.

3) __slots__로 인스턴스 메모리 감축.

4) gc.collect()는 보통 자동, 큰 객체 명시 del 후 호출 가능.




한 줄 요약


memory_profiler는 줄별 메모리 추적.

@profile + python -m memory_profiler.

tracemalloc은 표준 대안.

제너레이터·__slots__·numpy로 메모리 절약 패턴.




더 알아볼 것


- pympler — 객체 크기 측정

- gc 모듈 — 가비지 컬렉터 제어

- 객체 그래프 분석 — objgraph

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
191 부엉이 26/04/27 12 0
190 곰돌이 26/04/27 16 0
189 부엉이 26/04/27 15 0
188 부엉이 26/04/27 12 0
187 멍뭉이 26/04/27 11 0
186 부엉이 26/04/27 12 0
185 햇살이 26/04/27 14 0
184 곰돌이 26/04/27 14 0
183 부엉이 26/04/27 11 0
182 멍뭉이 26/04/27 14 0
181 부엉이 26/04/27 13 0
180 야옹이 26/04/27 13 0
179 햇살이 26/04/27 16 0
178 야옹이 26/04/27 14 0
177 햇살이 26/04/27 14 0
176 너구리 26/04/27 12 0
175 멍뭉이 26/04/27 12 0
174 곰돌이 26/04/27 12 0
173 토순이 26/04/27 9 0
172 토순이 26/04/27 15 0
171 햇살이 26/04/27 11 0
170 멍뭉이 26/04/27 12 0
169 토순이 26/04/27 12 0
168 다람쥐 26/04/27 14 0
167 곰돌이 26/04/27 14 0
166 다람쥐 26/04/27 14 0
165 토순이 26/04/27 13 0
164 구름이 26/04/27 17 0
163 곰돌이 26/04/27 13 0
162 다람쥐 26/04/27 11 0
신고하기

신고 사유를 선택해 주세요.