- JVM を使用してサーバー アプリケーションを実行しています
sunjava-1.6.0_21
。 - 私のアプリケーションはデータ量が多く、キャッシュ サーバーとして機能します。そのため、アプリケーションの実行中に GC を取得することは想定されていない、多くの存続期間の長いデータが格納されます。
- 次の JVM パラメータ
-Xmx16384M
と を設定しています-Xms16384M
。 - 必要なデータがロードされた後、アプリケーションのメモリ使用量は次のとおりです。
- 合計ヒープ スペースは次のとおりです。
13969522688
- 最大ヒープ スペースは次のとおりです。
15271002112
- 空きヒープ領域は次のとおりです。
3031718040
- 長期 (古い世代) のヒープ ストレージ:
Used=10426MB Max=10922MB Used/Max=95%
古い世代の使用 - これは実際のデータによるものであり、無料になる予定はないことを確認しました。私の質問は、デフォルトでヒープスペースのJVMサイジング(10922MBの古い世代を割り当てている)で、古い世代のセクションに空きスペースがほとんど残っていないことです。
- 古い世代の空き容量が少ないと、アプリケーションに影響を与える可能性はありますか?
- はいの場合、これをどのように処理すればよいですか? JVM チューニング パラメータ
newratio
を試したり、古い世代で使用できるスペースを増やしたり、アプリケーションをチューニングする必要があるその他の方法を試したりする必要があります。