Memray - ブルームバーグが公開したPythonメモリプロファイラのオープンソース
(github.com/bloomberg)- Pythonコードのネイティブ拡張やインタープリタ内部に至るまでメモリ割り当てを追跡し、メモリ使用に関するさまざまなレポートを作成
- CLIツールまたはライブラリとして利用可能
- 主な機能
- サンプリングではなく、すべての関数呼び出しを追跡
- C/C++ライブラリのネイティブ呼び出しまで処理
- 非常に高速で、速度低下を最小限に抑制。ネイティブコード追跡はやや遅くなるが、必要に応じて有効化/無効化が可能
- Flameグラフのような、さまざまなメモリ使用量レポートを生成
- Pythonスレッドをサポート
- ネイティブスレッドをサポート(C拡張のC++スレッド)
- こうした問題の解決に役立つ
- メモリを多く使う原因を把握
- メモリリークを発見
- コード内で大量の割り当てを引き起こすホットスポットを発見
- Linuxのみ対応
1件のコメント
EdgeDB のCEOが、スクリーンショット付きで利点を整理したツイート
https://twitter.com/1st1/status/1516859294896906241