ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Java EE運用ガイド

7.15 Interstage Java EE DASサービスのヒープ領域サイズとアドレス空間

ヒープ領域サイズ

作成したIJServerクラスタ、サーバーインスタンスの数が多い場合や、配備済みアプリケーションの数が多い場合、メモリ不足によりInterstage Java EE DASサービスの起動失敗やプロセスダウンが発生することがあります。
メモリ不足が発生している場合は、Interstage Java EE DASサービスのヒープ領域サイズをデフォルトの512MBから増やしてください。--targetオプションには server を指定します。

設定例

asadmin delete-jvm-options --target server \-Xmx512m
asadmin create-jvm-options --target server \-Xmx1024m

asadmin delete-jvm-options --target server \\-Xmx512m
asadmin create-jvm-options --target server \\-Xmx1024m

上記設定には、Interstage Java EE DASサービスが起動している必要があります。Interstage Java EE DASサービスが起動できない場合は、「Interstage Java EE DASサービスが起動しない場合の対処方法」を参照してください。


アドレス空間

上記ヒープ領域サイズを増やしても起動に失敗する場合、Interstage Java EE DASサービスが、プロセスのアドレス空間の上限を超えている可能性があります。
Interstage Java EE DASサービスが使用するプロセスのアドレス空間の領域は、以下の見積もり式で算出してください。
IJServerクラスタ数およびサーバーインスタンスの数を元に算出した値が、プロセスのアドレス空間の上限値を下回ることを確認してください。もし上限値を超える場合は、上限値を超えない範囲にまでIJServerクラスタ数およびサーバーインスタンスの削除を検討してください。
上限を超え、Interstage Java EE DASサービスが起動できない場合は、IJServerクラスタを削除してください。削除手順は「IJServerクラスタを削除する方法」を参照してください。

[最大ヒープ領域サイズ]  +  [最大Perm領域サイズ]  +  [数値1]  +  
( [IJServerクラスタ数] × 22 + [サーバーインスタンス数] × 10 + 82 ) × [数値2]

数値1、数値2

使用するプラットフォームにより異なります。数値1、数値2は下記表を参照してください。

項番

プラットフォーム

数値1

数値2

1

Windows(R)

300 Mバイト

0.25 Mバイト

2

Solaris

500 Mバイト

1.0 Mバイト

3

Linux

500 Mバイト

0.5 Mバイト

最大ヒープ領域サイズ、最大Perm領域サイズ

Interstage Java EE DASサービスの最大ヒープ領域サイズ、最大Perm領域サイズは、以下のコマンドで確認してください。

asadmin get server.java-config.jvm-options

最大ヒープ領域サイズ: -Xmx (デフォルトは512Mバイト)
最大Perm領域サイズ: -XX:MaxPermSize (デフォルトは192Mバイト)


Interstage Java EE DASサービスが起動しない場合の対処方法

IJServerクラスタの数が多く、Interstage Java EE DASサービスが起動しない場合は、下記手順に従いdomain.xmlを編集してください。

domain.xmlの格納先

[Java EE共通ディレクトリ]\domains\interstage\config\domain.xml

[Java EE共通ディレクトリ]/domains/interstage/config/domain.xml


編集手順

  1. Interstage Java EE Node Agentサービスを停止してください。

  2. Interstage Java EE DASサービスを停止してください。通常停止を実施できない場合には、本手順実施後にシステムを再起動してください。

  3. domain.xmlを編集し、ヒープ領域サイズを増やしてください。
    テキストエディタなどでファイルを開き、下記 -Xmx512m を -Xmx1024m に変更してください。

    • 編集する要素

      <domain>
      <configs>
      <config dynamic-reconfiguration-enabled="true" name="server-config">
      <java-config>
      <jvm-options>-Xmx512m</jvm-options>

  4. Interstage Java EE DASサービスを起動してください。通常停止を行う際に失敗していた場合は、システムを再起動してください。

  5. Interstage Java EE Node Agentサービスを起動してください。


IJServerクラスタを削除する方法

上記の見積もり式に当てはめて削除する必要のあるIJServerクラスタ数を算出し、以下の手順でIJServerクラスタを削除してください。作業を行う前に、事前にIJServerクラスタの配備資源やdomain.xml、workers2.propertiesのバックアップをとることを推奨します。バックアップの方法は、「10.1 資源のバックアップとリストア」を参照してください。


domain.xmlの格納先

[Java EE共通ディレクトリ]\domains\interstage\config\domain.xml

[Java EE共通ディレクトリ]/domains/interstage/config/domain.xml

workers2.propertiesの格納先

C:\Interstage\F3FMjs5\conf\jk2\[Webサーバ名]\workers2.properties

/opt/FJSVjs5/conf/jk2/[Webサーバ名]/workers2.properties


IJServerクラスタの削除手順

  1. Interstage Java EE Node Agentサービスを停止してください。通常停止を実施できない場合には、プロセスを強制停止してください。

  2. Interstage Java EE DASサービスを停止してください。通常停止を実施できない場合には、プロセスを強制停止してください。

  3. Webサーバを停止してください。 (注1)

  4. Interstage管理コンソールを停止してください。 (注2)

  5. domain.xmlを編集し、削除対象のIJServerクラスタに対応した以下の要素を削除してください。

    • config要素の削除
      削除対象のIJServerクラスタに対応したconfig要素を削除してください。

      <config dynamic-reconfiguration-enabled="true" name="${IJServerクラスタ名}-config">

      </config>

    • cluster要素の削除
      削除対象のIJServerクラスタに対応したcluster要素を削除してください。

      <cluster config-ref="${IJServerクラスタ名}-config"
      heartbeat-address="${ハートビートアドレス}"
      heartbeat-enabled="${ハートビート}"
      heartbeat-port="${ハートビートポート}" name="${IJServerクラスタ名}">

      </cluster>

    • server要素の削除
      削除対象のIJServerクラスタに対応したserver要素を削除してください。
      サーバーインスタンスが2つ以上のIJServerクラスタの場合、複数のserverタグを削除する必要があります。

      <server config-ref="${IJServerクラスタ名}-config" lb-weight="100"
      name="${IJServerクラスタ名}-${シーケンス番号}" node-agent-ref="ijna"
      start-instance-in-startup="true">

      </server>

  6. Webサーバコネクタの環境設定ファイルworkers2.propertiesを編集し、削除対象のIJServerクラスタに対応した以下の定義が存在する場合は定義を削除します。workers2.propertiesはWebサーバごとに存在します。Webサーバが複数存在する場合は、すべてのworkers2.propertiesを編集してください。

    • channel.socketセクションの削除
      削除対象のIJServerクラスタのサーバーインスタンスに対応したchannel.socketセクションを削除します。

      [channel.socket:${IJServerクラスタのIPアドレス}_${サーバーインスタンスのポート番号}]

      disabled=0

    • httpセクションの削除
      削除対象のIJServerクラスタのサーバーインスタンスに対応したhttpセクションを削除します。

      [http :${IJServerクラスタのIPアドレス}_${サーバーインスタンスのポート番号}]

      debug=0

    • lbセクションの削除
      削除対象のIJServerクラスタに対応したlbセクションを削除します。

      [lb: ${IJServerクラスタ名}]

      worker=http:${IJServerクラスタのIPアドレス}_${サーバーインスタンスのポート番号}

      createdby=javaee

    • uriセクションの削除
      groupプロパティに削除対象のIJServerクラスタ名が設定されているuriセクションをすべて削除します。

      [uri:/${コンテキストルート}/*]
      group=${IJServerクラスタ名}

  7. Webサーバを起動してください。 (注1)

  8. Interstage管理コンソールを起動してください。 (注2)

  9. Interstage Java EE DASサービスを起動してください。

  10. Interstage Java EE Node Agentサービスを起動してください。サービス起動時に、4.で削除したIJServerクラスタの定義情報に対応する資源は自動的に削除されます。

注1) 詳細は、「Interstage HTTP Server 運用ガイド」を参照してください。
注2) 詳細は、「Interstage Application Server 運用ガイド」を参照してください。