本文へジャンプ

【FAQ】WAS 初期ヒープサイズの設定に関する注意事項

資料作成日 2007年06月20日
資料更新日 2007年06月20日

<概要>

WASの初期ヒープサイズと最大ヒープサイズは同じ値に設定しないでください。

<内容/目次>

WebSphere Application Server (WAS)の初期ヒープサイズの設定にご注意ください。初期ヒープサイズを最大ヒープサイズと同じ大きな値に設定した場合、GCおよびコンパクションの発生時に問題が起きる可能性があります。

この文書は以下の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)

<添付資料>

<文書情報>

  1. 製品/カテゴリー名

    WebSphere Application Server

  2. 有効期限

    2015年06月20日

  3. 発表日

  4. 資料番号