6

メモリフットプリントを記録する方法はありますか? プロセスが終了した後もアクセスできるようにします。

メモリフットプリントを確認する典型的な方法は次のとおりです。

$ cat /proc/PID/status

しかし、プロセスが終了した後は決して存在しません。

4

3 に答える 3

5

次のようなことができます:

watch 'grep VmSize /proc/PID/status >> log'

プログラムが終了すると、時間の経過に伴うメモリ フットプリントのリストがlog.

于 2009-06-02T07:41:04.057 に答える
4

ValgrindにはMassifと呼ばれるメモリ プロファイラーがあり、プログラムのメモリ使用量に関する詳細な情報を提供します。

Massif はヒープ プロファイラーです。プログラムのヒープの定期的なスナップショットを取得して、詳細なヒープ プロファイリングを実行します。プログラムのどの部分が最も多くのメモリ割り当てを担当しているかに関する情報を含む、経時的なヒープ使用量を示すグラフを生成します。グラフは、最も多くのメモリが割り当てられている場所を特定するための詳細情報を含むテキスト ファイルまたは HTML ファイルによって補足されます。Massif は通常よりも約 20 倍遅くプログラムを実行します。

于 2009-06-02T15:22:14.563 に答える
2

munin + カスタムプラグインを使用して記録できます。

これにより、必要なプロセス情報を監視および保存し、グラフ化することが簡単にできます。

serverfault.com で私が行った関連する回答を次に示します。

于 2009-06-02T07:59:44.860 に答える