【Python】ライブラリをインストールせずにメモリ使用量を追跡する(Python3.4以上)

【Python】ライブラリをインストールせずにメモリ使用量を追跡する(Python3.4以上)

対応バージョン

Python3.4以上

Pythonでメモリ使用量を追跡したかった

それなりに重いデータをいじろうとすると、メモリの使用量が気になる事が多々あります。

秒単位で計測することはLinuxコマンドで比較的簡単に出来ますが、具体的にどの処理の後にメモリの使用量が増えているかを知りたく、Pythonの関数化してみました。

標準モジュールでのメモリ追跡の方法

tracemalloc という標準モジュール(Python3.4で追加)を使用します。

「Python が割り当てたメモリブロックをトレースするためのデバッグツール」が目的のモジュールらしいです。

書いてる途中で気が付いたのですが、公式ドキュメントのサンプルが充実しすぎてたのでそちらを見ましょう…
合計値のみ簡易的に出したい!!って方は以下のコードが参考になるとは思います。多分。

融通が利かない部分はあるらしいですが、追加でライブラリをインストールする必要がなくそれなりの情報が手軽に利用できます。

以下のような感じのコードでメモリ使用量が表れてくれます。
メモリを計測する際は「tracemalloc.start()」を実行してから実処理を回すようにしましょう。

出力結果

 

やっぱDataFrameすげえ重いですね。でも便利だからね、仕方ないね。上手く付き合わねば。

Pyhonカテゴリの最新記事