おそらくばかげた質問が1つあります。私は現在、CSPソルバーchocoとjacopをテストしています。アプリのプロファイリング(グラフ彩色、約3000ノード)を実行すると、結果が完全に理解できません。
プロファイラーによって宣言された使用済みヒープスペースは、約1GBのメモリです。作成されたすべてのオブジェクトの合計は100MB未満です。他の900MBのRAMはどこにありますか?
メソッド呼び出し(ソルバーはおそらく大規模なバックトラッキングを使用します)がスタックに配置されていると思うので、ここでは問題はないはずです。Xmx paramを使用して最大メモリを減らすと、アプリは例外で失敗します。
スレッド「メイン」の例外java.lang.OutOfMemoryError:GCオーバーヘッド制限を超えました
したがって、残りは未使用の未収集メモリではないようです(この場合、GCがメモリの割り当てを解除するため(失敗しないため))。
ご協力いただきありがとうございます。