Python에서 메모리 사용량을 어떻게 분석할 수 있나요?
Python에서 메모리 사용량 프로파일링
Python 3.4에서는 메모리 할당에 대한 심층 분석을 위해 Tracemalloc 모듈을 도입했습니다. 특정 기능에 대한 메모리 할당 통계를 표시하려면:
from tracemalloc import start, take_snapshot, display_top start() # Code to profile memory usage snapshot = take_snapshot() display_top(snapshot)
시간 경과에 따른 메모리 모니터링
장기간 동안 메모리 사용량을 추적하려면:
from collections import Counter import time def count_prefixes(): counts = Counter() with open('/usr/share/dict/american-english') as words: words = list(words) for word in words: counts[word[:3]] += 1 time.sleep(0.0001) return counts.most_common(3) count_prefixes() snapshot = take_snapshot() display_top(snapshot)
별도의 스레드 사용 모니터링
메인 스레드가 실행되는 동안 별도의 스레드에서 메모리 사용량을 모니터링하려면:
from queue import Queue from threading import Thread def memory_monitor(queue): while True: try: command = queue.get(timeout=0.1) if command == 'stop': return snapshot = take_snapshot() print(datetime.now(), 'max RSS', getrusage(RUSAGE_SELF).ru_maxrss) except Empty: continue queue = Queue() monitor_thread = Thread(target=memory_monitor, args=(queue,)) monitor_thread.start() try: count_prefixes() finally: queue.put('stop') monitor_thread.join()
위 내용은 Python에서 메모리 사용량을 효과적으로 프로파일링하고 모니터링하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!