大規模なガベージコレクション中に、マシンはJVM割り当て量の外側にメモリを必要としますか?
私が尋ねる理由は、私たちは6の箱があるからそれぞれ2ギガバイトのRAMを使用して、それぞれ約2.6ギガバイトのヒープ/メモリを使用します。大規模なガベージコレクション(マークスイープとコンパクトマークの同時処理)の直前には、ラム全体に数百メガバイトの空きメモリしかありません。
理論的には、このような状況ではもっと多くのラムが必要かどうかと思っていました。
回答:
回答№1は0"jvm"はそれぞれ約2.6ギグのヒープ/メモリを使用します。
Xmxは2.6 GBのようです。しかし、Xmx(ヒープメモリ)はJVMによって使用される唯一のメモリ領域ではないので、1つのJVMによって使用されるメモリは2.6 +になり、uはJVM外のメモリが使用されるように感じるかもしれません。
JVMメモリは次のセグメントで構成されています。
- Javaオブジェクト用のストレージであるヒープメモリ
- ロードされたクラスを格納するためにJavaによって使用されるNon-Heap Memory 他のメタデータ
- JVMコード自体、JVMの内部構造、ロードされたプロファイラエージェントコード データ等