背景:
アルゴリズムとそのパフォーマンスを調査する場合、メモリ効率を高めるためにコードを最適化することが重要になります。これを達成するには、メモリ使用量の監視が不可欠です。
Python メモリ分析:
Python は、ランタイム プロファイリング用の timeit 関数を提供します。ただし、メモリ分析のために、Python 3.4 では、tracemalloc モジュールが導入されています。
tracemalloc の使用:
tracemalloc を使用してメモリ使用量をプロファイリングするには:
import tracemalloc # Start collecting memory usage data tracemalloc.start() # Execute code to analyze memory usage # ... # Take a snapshot of the memory usage data snapshot = tracemalloc.take_snapshot() # Display the top lines with memory consumption display_top(snapshot)
その他アプローチ:
1.バックグラウンド メモリ モニター スレッド:
このアプローチでは、メイン スレッドがコードを実行している間にメモリ使用量を定期的に監視する別のスレッドが作成されます:
import resource import queue from threading import Thread def memory_monitor(command_queue, poll_interval=1): while True: try: command_queue.get(timeout=poll_interval) # Pause the code execution and record the memory usage except Empty: max_rss = resource.getrusage(resource.RUSAGE_SELF).ru_maxrss print('max RSS', max_rss) # Start the memory monitor thread queue = queue.Queue() poll_interval = 0.1 monitor_thread = Thread(target=memory_monitor, args=(queue, poll_interval)) monitor_thread.start()
2。 /proc/self/statm の使用 (Linux のみ):
Linux では、/proc/self/statm ファイルは、次のような詳細なメモリ使用量統計を提供します。
Size Total program size in pages Resident Resident set size in pages Shared Shared pages Text Text (code) pages Lib Shared library pages Data Data/stack pages
以上がPython でメモリ使用量をプロファイリングするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。