ガベージ コレクターのパフォーマンス問題

The information on this page relates to memory management with Oracle's Hotspot JVM. These recommendations are based on our support team's successful experiences with customers with large Confluence instances. 

Which garbage collector?

Confluence uses the garbage first garbage collector (G1GC) by default. This is the garbage collector we recommend. 

See Garbage First Garbage Collector Tuning in the Oracle documentation for useful information on tuning this garbage collector. 

We have also observed that G1GC performs better with a larger heap (2gb). See the information below about how to increase your heap size gradually. 

Don't use the Concurrent Mark Sweep (CMS) Collector with Confluence, unless advised by Atlassian Support. It requires extensive manual tuning and testing, and is likely to result in degraded performance.

Use the right size heap

OutOfMemory エラーが発生しない範囲で、できるだけヒープを小さく抑えます。OutOfMemory エラーが発生し、このヒープ値を大きくする必要がある場合、512 メガバイトまたは 1 ギガバイト単位で割り当てて、インスタンスを監視することをお勧めします。OutOfMemory エラーを受信し続ける場合は、もう 512 メガバイトまたは 1 ギガバイト増やし、OutOfMemory エラーが発生せず、安定した動作となるまで、このプロセスを繰り返します。ガベージ コレクションに要する時間が長くなるため、必要以上にヒープを増やさないようにしてください。

古いチューニングパラメーターの削除

フル GC を行うたびに、JVM は実際のスループットに応じて、 Eden 領域や Survivor 領域などへの割り当てサイズを変更します。JVM は作成、収集されるオブジェクトの実環境データに基づいて、自身のチューニングを行います。ほとんどの場合、単に JVM 自身にチューニングをまかせておく方がパフォーマンスが向上します。

過去に JVM パラメーターを追加したことがあり、現在 GC に問題が発生している場合、すべての GC 関連のパラメーターを削除するようお勧めします。ただし、特定の問題を解決するためにそのパラメーターを追加し、実際に問題が解決された場合は別です。また、パラメーターが今もその問題を解決していて、他の問題を引き起こしていないことを確認するために、今すぐ再ベンチマークの実行を検討する必要があります。

VM リソースの確認

VM 上で Confluence を実行する場合、スワップファイルを使用していないことを確認します。使用している場合は、JVM ガベージが収集を行う時に、スワップファイルからオブジェクトをメモリにロードする必要があり、これによって GC 一時停止時間が著しく長くなる可能性があります。スワッピングやバルーニング、バースティングを行うのではなく、VM に十分なメモリを割り当てます。

手動によるチューニング 

If you find you are still experiencing difficulties with GC after following these recommendations and you would like to see if you can tune the JVM better to improve performance, see our Garbage Collection (GC) Tuning Guide. This document was put together a few years ago, but has some useful information on choosing performance goals (throughput/footprint/latency), and how to tune for those goals.

GC ログの表示

ガベージ コレクション(GC)ログを有効にする方法 を参照し、Chewiebug の GCViewer などのツールを使用して、結果のログを表示します。

最終更新日 2019 年 6 月 14 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.