2011-07-07 6 views
3

私はこのErlangクラッシュダンプの上で、VMがヒープメモリを使い果たしてしまっているのを見てきました。問題は、すべてのメモリを割り当てる明らかな原因がないことです。私はフィールドStack+heap、各プロセスのOldHeapHeap unusedOldHeap unusedを総括し、メモリ使用量によってそれらをランク付けしてきたいくつかの深刻な黒awk魔法を使うErlangクラッシュダンプを調べる - すべてのメモリをどのように考慮するか?

。問題は、この番号が、Erlang crash dump guideに従ったすべてのプロセスprocesses_usedの合計メモリを表す数にも達しないことです。

私はすでにCrashdump Viewerを試していますが、何か不足しているか、私の問題であまり役に立たないです。

数字は525 MBですが、processes_usedの値は1348 MBです。残りの記憶はどこで見つけることができますか?

編集:彼らはStack+HeapOldHeapのサブ一部なのでHeap unusedOldHeap unusedは、そのプラスStack+HeapOldHeapのために表示されている番号は言葉ではなく、バイト数としてリストされているという事実は、含まれているべきではありません、問題だった。

+0

もう少しコメントを追加しました。不一致が十分ではないため、実際に表示されている数字は説明しません。クラッシュダンプをどこかでアップロードして私に見てもらえますか? – Lukas

答えて

6

crashdump_viewerと呼ばれるモジュールがあり、この種の解析には最適です。

ヒープ+スタックは、ワードではなく、ヒープ+スタックに4を32と8に64ビットを掛けなければならないことを意味するバイトではありません。このマニュアルのリファレンスは見つかりませんが、Processesの話は少しあります。

関連する問題