파이썬에서의 메모리 양을 동적으로 모니터링하는 방법

파이썬은 동적 타입 언어로 메모리를 관리하는 데에 편리함을 제공합니다. 하지만 때때로 우리는 우리의 코드가 너무 많은 메모리를 사용하고 있는지 확인하고 싶을 때가 있습니다. 이를 위해 파이썬에서는 sys 모듈의 getsizeof 함수를 사용하여 객체의 크기를 알 수 있습니다. 이를 응용하여 우리는 우리의 코드 내에서 메모리를 동적으로 모니터링할 수 있습니다.

getsizeof 함수

getsizeof 함수는 파이썬 스크립트의 현재 메모리 사용량을 확인하는 데 사용됩니다. 이 함수는 sys 모듈에 포함되어 있으며, 사용하기 위해서는 다음과 같이 sys 모듈을 임포트해야 합니다.

import sys

getsizeof 함수는 파이썬 객체의 크기를 바이트 단위로 반환합니다. 예를 들어, 다음은 파이썬 리스트의 크기를 확인하는 예제입니다.

import sys

my_list = [1, 2, 3, 4, 5]
size = sys.getsizeof(my_list)

print(f"List size: {size} bytes")

위의 예제는 my_list라는 리스트의 크기를 확인한 후, 해당 크기를 바이트 단위로 출력합니다.

메모리 모니터링

메모리를 동적으로 모니터링하기 위해서는 getsizeof 함수를 정기적으로 호출하여 객체의 크기를 확인해야 합니다. 이를 위해 다음과 같은 코드를 사용할 수 있습니다.

import sys
import time

def monitor_memory(obj):
    while True:
        size = sys.getsizeof(obj)
        print(f"Object size: {size} bytes")

        time.sleep(1)  # 1초마다 반복

# 메모리를 모니터링할 파이썬 객체
my_list = [1, 2, 3, 4, 5]

monitor_memory(my_list)

위의 예제 코드는 매 초마다 my_list라는 리스트의 크기를 출력합니다.

결론

파이썬에서의 메모리 양을 동적으로 모니터링하기 위해서는 sys 모듈의 getsizeof 함수를 사용하면 됩니다. 이를 응용하여 우리는 우리의 코드 내에서 메모리 사용량을 확인할 수 있고, 필요한 경우 적절한 조치를 취할 수 있습니다.

#python #memory-monitoring