64 ビット サーバーの MetaspaceSize の既定値は? 公式ドキュメントでは見つかりませんでした。
サーバー JVM プロセスでは、GC の頻度が高くなり、増加し続けることがあります。サービスを数回再起動すると、安定に戻ります。JREのアップグレードによるものだと思います。
JVM ヒープの最大サイズは 6GB に設定されていますが、この問題が発生すると、3GB のヒープしか使用されていません。メタスペースはほとんど増加せず、ほぼ常に満杯です。メタスペースを 1GB に増やしてみたところ、スループットが向上しました。
起こっていることは、メタスペースがデフォルトで非常に低い値に設定されているため、GC が開始されることだと思います。GC が発生するたびに、最高水準点が継続的に (再び非常に低い量で) 増加します。
MetaspaceSize を設定したい (現在の値がわからない)。
Oracle のドキュメントによると、MetaspaceSize を何に設定するかを知るためのガイドラインはありません。しかし、それを設定する正しい値を見つける方法はありますか?
Oracle ドキュメントから得た 1 つのヒントは次のとおりです。
If the committed space available for class metadata as a percentage of the total committed space for class metadata is greater than MaxMetaspaceFreeRatio, then the high-water mark will be lowered. If it is less than MinMetaspaceFreeRatio, then the high-water mark will be raised.
しかし、GC を安定させる方法がまだわかりません。3 つの質問があります。
- 64 ビット サーバーのデフォルトの MetaspaceSize はいくつですか?
- デフォルトの比率: MaxMetaspaceFreeRatio、MinMetaspaceFreeRatio は何に設定されていますか? 答え: Min が 40、Max が 70 であることを示しています
- Metaspacesize 値を決定するにはどうすればよいですか?