jhat は Java ヒープ ダンプを分析するための優れたツールですが、大きなヒープの場合、多くの時間を浪費しがちです。jhat のランタイム ヒープが小さすぎると、失敗してメモリ不足になるまでに 15 分かかる場合があります。
私が知りたいのは、ヒープダンプファイルのサイズに基づいて jhat を与える必要がある -Xmx ヒープの量に関する経験則はありますか? 今のところ、バイナリ ヒープ ダンプのみを考慮しています。
いくつかの非常に限られた実験では、ヒープ ダンプのサイズの少なくとも 3 ~ 4 倍であることが示されています。-J-mx12G を使用して、3-and-change ギガバイトのヒープ ファイルを分析できました。
他の誰かがより決定的な実験データを持っていますか、または jhat が実行時にヒープオブジェクトをどのように表すかを理解していますか?
データポイント: