프로그래밍 언어/Python

Python 애플리케이션의 메모리 사용량 확인하는 방법

Rateye 2021. 11. 19. 10:08
728x90
반응형
질문 : 어떤 Python 메모리 프로파일 러가 권장됩니까?

내 Python 애플리케이션의 메모리 사용량을 알고 싶고 특히 어떤 코드 블록 / 부분 또는 객체가 대부분의 메모리를 소비하는지 알고 싶습니다. Google 검색에 따르면 상용 제품은 Python Memory Validator입니다 (Windows 전용).

그리고 오픈 소스는 PySizerHeapy 입니다.

나는 아무도 시도하지 않았기 때문에 어떤 것이 가장 좋은지 알고 싶었습니다.

  1. 대부분의 세부 정보를 제공합니다.
  2. 내 코드를 최소한 또는 전혀 변경해야합니다.

 

답변

guppy3 는 사용하기 매우 간단합니다. 코드의 어느 시점에서 다음을 작성해야합니다.

from guppy import hpy
h = hpy()
print(h.heap())

이것은 다음과 같은 출력을 제공합니다.

Partition of a set of 132527 objects. Total size = 8301532 bytes.
Index  Count   %     Size   % Cumulative  % Kind (class / dict of class)
0  35144  27  2140412  26   2140412  26 str
1  38397  29  1309020  16   3449432  42 tuple
2    530   0   739856   9   4189288  50 dict (no owner)

객체가 참조되는 위치를 찾아서 그에 대한 통계를 얻을 수도 있지만, 그에 대한 문서는 다소 희박합니다.

Tk로 작성된 그래픽 브라우저도 있습니다.

Python 2.x의 경우 Heapy를 사용합니다.

출처 : https://stackoverflow.com/questions/110259/which-python-memory-profiler-is-recommended
728x90
반응형