十分な JVM ヒープ・サイズを指定することは、Java パフォーマンスにとって重要です。
JVM には、JVM のストレージを管理するために使用するしきい値があります。しきい値に達すると、 ガーベッジ・コレクター (GC) が起動し、未使用のストレージを解放します。 GC は Java パフォーマンスの重大な低下を起こします。
管理コンソールを使用して、JVM の初期ヒープ・サイズおよび最大ヒープ・サイズを指定します。
この管理コンソール・ページを表示するには、「サーバー」>「アプリケーション・サーバー」>「server_name」とクリックします。. 次に「 サーバー・インフラストラクチャー」で、「プロセス定義」> 「制御 (Control)」> 「Java 仮想マシン」とクリックします。「構成」タブにアクセスし、 これらの設定を変更します。
<af type="tenured" id="7" timestamp="Mon Nov 14 22:58:18 2005" intervalms="3724.328"> <minimum requested_bytes="72" /> <time exclusiveaccessms="0.034" /> <tenured freebytes="4026368" totalbytes="134217728" percent="2" > <soa freebytes="0" totalbytes="130191360" percent="0" /> <loa freebytes="4026368" totalbytes="4026368" percent="100" /> </tenured> <gc type="global" id="7" totalid="7" intervalms="3724.645"> <refs_cleared soft="0" weak="10" phantom="29578" /> <finalization objectsqueued="0" /> <timesms mark="76.550" sweep="6.021" compact="0.000" total="82.939" /> <tenured freebytes="87995424" totalbytes="134217728" percent="65" > <soa freebytes="85311520" totalbytes="131533824" percent="64" /> <loa freebytes="2683904" totalbytes="2683904" percent="100" /> </tenured> </gc> <tenured freebytes="87994768" totalbytes="134217728" percent="65" > <soa freebytes="85310864" totalbytes="131533824" percent="64" /> <loa freebytes="2683904" totalbytes="2683904" percent="100" /> </tenured> <time totalms="83.290" /> </af>
83.29/3724.32 * 100 = 2.236%
GC に 5% を超える時間を費やし、GC が頻繁に発生している場合、 ご使用の Java ヒープ・サイズを増やす必要がある可能性があります。
これを明らかにするには、%free を見ます。 数が減少し続けていないか確認します。%free が減少し続けている場合、GC から GC に 割り振られたヒープが徐々に増加しており、ご使用のアプリケーションにメモリー・リークがあることを示している可能性があります。
また、MVS コンソール・コマンドの変更コマンドで display, jvmheap を指定し 、JVM ヒープ情報を表示することができます。 詳しくは、『変更コマンド』を参照してください。 さらに、サーバー・アクティビティーおよびインターバル SMF レコードを確認することができます。 また、JVM ヒープ・サイズは PMI に使用可能で、Tivoli Performance Viewer を使用してモニターすることができます。