2 つの時点の間の Java プロセスのヒープ ヒストグラムを見ています。メモリ使用量は大幅に増加しましたが、以前の最大のオブジェクトが 2 番目のレポートに表示されません。
Mon Oct 7 10:01:27 PHT 2013
...
Size Count Class description
-------------------------------------------------------
850635192 9666309 org.drools.reteoo.LeftTuple
63220392 1556524 char[]
35109792 1462908 java.lang.String
Mon Oct 7 16:01:29 PHT 2013
...
Size Count Class description
-------------------------------------------------------
76589736 2190862 char[]
52513032 2188043 java.lang.String
以前は、org.drools.reteoo.LeftTuple が常にリストのトップにありました。リストの上位 20 の合計はメモリ消費の 10% 程度にすぎないので、まだあると思いますが、何らかの理由で報告されていません。
Java プロセスがほとんどメモリ不足であることを念頭に置くと、その背後にある理由は何でしょうか? 一貫性のないレポートを生成する状態ですか?
役立つ場合は、古い世代の情報を次に示します。
Mon Oct 7 10:01:27 PHT 2013
...
PS Old Generation
capacity = 985661440 (940.0MB)
used = 846694760 (807.4710464477539MB)
free = 138966680 (132.5289535522461MB)
85.90117515401637% used
Mon Oct 7 16:01:29 PHT 2013
...
PS Old Generation
capacity = 2239758336 (2136.0MB)
used = 2239758328 (2135.9999923706055MB)
free = 8 (7.62939453125E-6MB)
99.99999964281861% used