<概要>
WASの初期ヒープサイズと最大ヒープサイズは同じ値に設定しないでください。
<内容/目次>
この文書は以下のUSのTechNotes(FAQ)の翻訳になります。最新の情報については、オリジナルの英文をご参照ください。
"The initial Java heap size should not be set equal to the maximum Java heap size" (US)
http://www-1.ibm.com/support/docview.wss?uid=swg21160795
【問題点】
Javaの初期ヒープサイズをとても大きな値に設定した場合、ガーベッジ・コレクション(gc)とヒープ・コンパクションが適切に行われない可能性があります。これは、ガーベッジ・コレクションが最初に実行されるまでにヒープサイズが巨大になってしまうことと、断片化されてしまうためです。そのため、アプリケーション・サーバーの初期ヒープサイズ(Xms)設定は、最大ヒープサイズ(Xmx)設定と同じ値にすべきではありません。
【原因】
ガーベッジ・コレクションが効率よく行われないためです。
【解決策】
Javaの初期ヒープサイズを最大ヒープサイズと同じ値に設定することは推奨されません。同じ値に設定した場合、ヒープサイズが一杯になるまでガーベッジ・コレクションが開始されないことになります。そのため、最初に実行されるガーベッジ・コレクションが非常に負荷の高いオペレーションとなってしまいます。
また、ヒープのコンパクションが必要となった時には、ヒープが大量に断片化されている可能性が高くなります。 これもまた非常に負荷の高いオペレーションとなってしまいます。
IBMは、アプリケーションで必要となる最小のヒープサイズからスタートすることを推奨します。アプリケーションが開始すると、ヒープサイズが小さいためにガーベッジ・コレクションが頻繁に発生し、効率よく行われることになります。
【参照】
IBM developer kits: Diagnosis documentation (US)
<添付資料>
<文書情報>
製品/カテゴリー名
WebSphere Application Server
有効期限
2015年06月20日
発表日
資料番号
