2

たとえば、RAM が 30 GB で、jmx を 10 GB、jms を 5 GB として Java プロセスを開始したとします。これらの値でヒープが実際にどのようにサイズ変更/サイズ変更されますか? 5GB が初期ヒープ スペースとして使用され、10 GB が jvm 用に確保されている (残りの 15 GB は RAM 上の他のプロセスに使用できる)、または 5 GB のみが割り当てられ、最大 10 GB に増加する (その間、他のプロセスは25 GB の使用が許可されているか)。これはどのように起こりますか?

4

2 に答える 2

2
  • -Xms 初期 Java ヒープ サイズを設定します。
  • -Xmx Java ヒープの最大サイズを設定します。

仮想マシンの初期化時に、ヒープ用のスペース全体が予約されます。-Xmx オプションで確保する領域のサイズを指定できます。-Xms パラメーターの値が -Xmx パラメーターの値よりも小さい場合、予約されているすべてのスペースがすぐに仮想マシンにコミットされるわけではありません。この図では、コミットされていないスペースに「仮想」というラベルが付けられています。ヒープのさまざまな部分 (Permanent 世代、Tenured 世代、Young 世代) は、必要に応じて仮想空間の限界まで拡大できます..... ソース - OTN -Tuning Garbage Collection

于 2013-07-26T18:42:43.913 に答える