ホームページ >バックエンド開発 >Python チュートリアル >Python でメモリ使用量を効果的にプロファイルおよび監視するにはどうすればよいですか?
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 中国語 Web サイトの他の関連記事を参照してください。