ねじれたサーバーのメモリ使用量が増加する理由が断片化であることを知りたいです。ここに質問を投稿しました: ツイスト サーバーのメモリ使用量の増加の原因を見つける方法は?
これから行うことは、ヒープを視覚化することです。記事を見つけました:メモリの断片化。その記事のヒープの図は、私が望むものとまったく同じです。このような図を matplotlib やその他のツールで描くことは難しくありません。最も難しい仕事は、メモリの割り当てと解放をどのように記録するかということです。
CPython のソース コードを変更し、いくつかのログ コードを omalloc.c に追加して Python を再コンパイルし、変更した CPython を使用してサーバーを実行できることを知っています。しかし、私はそれで時間を無駄にしたくありません。次に、利用可能なツールを探しています。valgrindを使用してメモリ リークを検出できるツールがあることは知っていますが、割り当てと割り当て解除を記録する方法がわかりません。その memcheck が次のようなものを検出できることがわかります。
- 無効な読み取り
- 初期化されていない
- 無効な無料
しかし、それは私が望むものではありません。必要なのは次のとおりです。
- メモリのすべての割り当てと割り当て解除を時間、アドレス、サイズとともに記録する
私の質問は次のとおりです。
- どうすればvalgrindでそれを行うことができますか?
- できない場合は、そのためのモジュールを作成する必要がありますか?
- または、これを達成できるより良いツールはありますか?
ありがとう。