私は、Ubuntu 14.04.5 LTS上でtomcat 8.0.24およびJava 1.8.0 31-b13(64ビット)でAtlassian Bitbucketを実行しています。 、カーネル3.13.0-88-ジェネリック。 VMには16GBのメモリと4つの仮想CPUがありますJava - PS OldGen full、PS Survivor Space空、PS Eden空間充填およびGC'ing
私が変更した唯一のJavaパラメータは、現在の-Xms3072m -Xmx4096mのヒープパラメータです。比率やその他のヒープパラメータを変更していません
私は内部を見るためにプローブを使用しています。再起動後、GCはPS Eden SpaceとPS Survivor Spaceで、PS Old Genが2.67GBytesまで徐々に満たされ、完全なGCが起こっているように動作します。
しかし、予想される動作の数日後、PS Old Genがいっぱいになりますが、GCは発生せず、PS Survivor SPaceはPS Eden Spaceの充填とGC'ingだけで空のままです。この動作が観察された後、応答時間が遅くなり、最終的にメモリ不足(ヒープ)エラーでクラッシュします。
ヒープスペースを徐々に増やしていますが、現在かなり大きくなっていることを熟知しており、フロントエンドは、発生中にフロントエンドに数秒間の停止を報告します。
私の質問は以下のとおりです。
- 私はこの問題を解決することを望んで、ヒープを増やしておくべきでしょうか?
- この問題の解決に役立つその他のパラメータ(さまざまな比率など)がありますか。
- 私は死に至る危険があり、Bitbucketを捨て去ることを勧めますか? :-)
はい私は、Javaでメモリを投げても必ずしも望ましい効果があるわけではないことを認識しています。そのため、徐々にヒープを増やしています。 定期的にヒープが不足していました。 –