MemrayはPython用メモリー性能解析ツールである。Python バージョン3.7以上のLinux環境でのみ動作し、Pythonのパッケージ管理システムであるpipなら「pip install memray」で導入可能。GitHubからコードを入手すれば、自らの手でビルドもできる。「python -m memray run foo.py -o bar.bin」でPythonコードを実行し、「python -m memray flamegraph bar.bin」で生成したHTMLから、ピーク時のメモリー使用量を確認する。

  • メモリー消費量をリアルタイムで確認するMemrayのライブモード(公式サイトより抜粋)

    メモリー消費量をリアルタイムで確認するMemrayのライブモード(公式サイトより抜粋)

Memrayは複数の動作モードを備えており、前述のflamegraph以外にも、メモリー使用量の全レコードを含むHTMLテーブルを生成するtable、テキストベースのUIでメモリー割り当てを監視するlive、ピーク時のメモリー使用量をテキストベースでツリー表示するtree、各レコードを解析してデバッグに用いるparse、メモリーを割り当てた関数のレポートを生成するsummary、メモリー使用量の統計情報を生成するstatsを使用できる。MemrayはApache-2.0ライセンスで使用可能。

  • WSL上のPython環境でもMemrayは使用可能

    WSL上のPython環境でもMemrayは使用可能