Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 拡張編


7.13.1 明示管理ヒープ機能を利用するための共通の設定(JavaVMオプションの設定)

ここでは,明示管理ヒープ機能を利用するための共通の設定について説明します。

明示管理ヒープ機能を利用する場合,次の設定が必要です。

また,明示管理ヒープ機能の適用対象を制御する場合,次の設定が必要です。

〈この項の構成〉

(1) J2EEサーバの設定

J2EEサーバの設定は,簡易構築定義ファイルで実施します。

明示管理ヒープ機能を使用するための共通の設定は,簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内のJavaVM起動パラメタ(add.jvm.arg)でJavaVMのオプションを指定します。

明示管理ヒープ機能のJavaVMオプションの定義について次の表に示します。

表7‒14 明示管理ヒープ機能のJavaVMオプションの定義

JavaVMオプション

設定内容

デフォルト値

(JDK17インストール環境では指定なし)

-XX:[+|-]HitachiUseExplicitMemory

明示管理ヒープ機能を使用するかどうかを設定します。

新規インストールの場合

実行環境によって異なります※1

バージョンアップの場合

-XX:-HitachiUseExplicitMemory

-XX:[+|-]HitachiAutoExplicitMemory

明示管理ヒープ機能の自動配置機能を使用するかどうかを設定します。

-XX:-HitachiAutoExplicitMemory

-XX:HitachiAutoExplicitMemoryFile: <文字列>

明示管理ヒープ機能の自動配置機能を使用する場合に利用する,自動配置設定ファイルのパスを指定します。

空文字

-XX:[+|-]HitachiExplicitMemoryAutoReclaim

明示管理ヒープ機能の自動解放機能を使用するかどうかを指定します。

-XX:+HitachiExplicitMemoryAutoReclaim

-XX:[+|-]HitachiExplicitMemoryCompatibleToV8

Explicitメモリブロックを確保する方法を,08-00と同様にするかどうか指定します。08-50以降の新機能を利用しないで,08-00で動作するアプリケーションをそのまま08-50で動作させる場合,このオプションを有効にします。

-XX:-HitachiExplicitMemoryCompatibleToV8

-XX:HitachiExplicitHeapMaxSize※2

Explicitヒープ領域の最大サイズを設定します。(単位:バイト)

-XX:HitachiExplicitHeapMaxSize =64m

-XX:HitachiExplicitMemoryLogLevel:<文字列>

<文字列>に明示管理ヒープ機能で出力するイベントログのログレベルを設定します。

次のどれかを指定します。

  • none

  • normal

  • verbose

  • debug

-XX:HitachiExplicitMemoryLogLevel:normal

-XX:HitachiExplicitMemoryJavaLog:<文字列>

<文字列>に明示管理ヒープ機能で出力するイベントログの出力先パス名を指定します。

Windowsの場合

-XX:HitachiExplicitMemoryJavaLog:<Application Serverのインストールディレクトリ>\CC\server\public\ejb\<サーバ名>\logs

UNIXの場合

-XX:HitachiExplicitMemoryJavaLog:/opt/Cosminexus/CC/server/public/ejb/<サーバ名>/logs

-XX:HitachiExplicitMemoryJavaLogFileSize=<整数値>

<整数値>にイベントログのファイルサイズを指定します。(単位:バイト)

-XX:HitachiExplicitMemoryJavaLogFileSize =4m

-XX:ExplicitMemoryFullGCPolicy=<数値>

FullGC発生時に,参照関係に基づくオブジェクトのJavaヒープからExplicitメモリブロックへの移動を制御するかどうかを指定します。

-XX:ExplicitMemoryFullGCPolicy=0

-XX:[+|-]ExplicitMemoryUseExcludeClass

明示管理ヒープ機能適用除外クラス指定機能を有効にするかどうかを指定します。

推奨モードの場合

-XX:+ExplicitMemoryUseExcludeClass

-XX:ExplicitMemoryExcludeClassListFile:<文字列>

明示管理ヒープ機能適用除外クラス指定機能を使用する場合に利用する,明示管理ヒープ機能適用除外設定ファイルのパスを指定します。

空文字

-XX:ExplicitMemoryNotExcludeClassListFile:<文字列>

明示管理ヒープ機能適用除外クラス指定機能を使用する場合に利用する,明示管理ヒープ機能適用除外無効設定ファイルのパスを指定します。

空文字

注※1

新規インストールの場合,実行環境によってデフォルト値は次のように異なります。

J2EEサーバの場合

 -XX:+HitachiUseExplicitMemory

バッチサーバおよびJavaアプリケーションの場合

 -XX:-HitachiUseExplicitMemory

注※2

見積もりについては,マニュアル「アプリケーションサーバ システム設計ガイド」の「7.11 Explicitヒープのチューニング」を参照してください。

簡易構築定義ファイルでの定義例を次に示します。

<param-name>add.jvm.arg</param-name>
 <param-value>-Xms512m</param-value>
 <param-value>-Xmx512m</param-value>
 <param-value>-XX:+HitachiUseExplicitMemory</param-value>
 <param-value>-XX:HitachiExplicitHeapMaxSize=64m</param-value>
参考

J2EEサーバの設定は,運用管理ポータルの[起動パラメタの設定]画面(論理J2EEサーバの定義)でも設定できます。運用管理ポータルでの設定方法については,マニュアル「アプリケーションサーバ 運用管理ポータル操作ガイド」の「10.8.23 起動パラメタの設定(J2EEサーバ)」を参照してください。

指定するJavaVMオプション,および簡易構築定義ファイルで指定するタグの詳細は,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください。

(2) バッチサーバの設定

バッチサーバの設定は,簡易構築定義ファイルで実施します。

明示管理ヒープ機能を使用するための共通の設定は,簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内のJavaVM起動パラメタ(add.jvm.arg)でJavaVMのオプションを指定します。

指定するJavaVMのオプションは,「(1) J2EEサーバの設定」を参照してください。

(3) Javaアプリケーションの設定

cjclstartapコマンドで動作させるJavaアプリケーションの設定は,Javaアプリケーション用オプション定義ファイル(usrconf.cfg)で実施します。

明示管理ヒープ機能を使用するための共通の設定は,Javaアプリケーション用オプション定義ファイル(usrconf.cfg)のJavaVM起動パラメタ(add.jvm.arg)でJavaVMのオプションを指定します。

指定するJavaVMのオプションは,「(1) J2EEサーバの設定」を参照してください。

Javaアプリケーション用オプション定義ファイル(usrconf.cfg)での定義例を次に示します。

add.jvm.arg=-Xms512m
add.jvm.arg=-Xmx512m
 
add.jvm.arg=-XX:+HitachiUseExplicitMemory
add.jvm.arg=-XX:HitachiExplicitHeapMaxSize=64m

Javaアプリケーション用オプション定義ファイル(usrconf.cfg)については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「12.2.1 usrconf.cfg(Javaアプリケーション用オプション定義ファイル)」を参照してください。

(4) 自動配置設定ファイルの設定

自動配置設定ファイルを使用して明示管理ヒープ機能を利用する場合,-XX:+HitachiAutoExplicitMemoryオプションを指定し,Explicitヒープに配置したいオブジェクトの設定が必要です。

Explicitヒープに配置したいオブジェクトの設定は,簡易構築定義ファイルの論理J2EEサーバ(J2EE-Server)の<configuration>タグ内にAutoExplicitMemoryTextパラメタで指定します。

定義例を次に示します。

 :
<param>
<param-name>AutoExplicitMemoryText</param-name>
<param-value>
<![CDATA[
com.sample.*, java.util.ArrayList
com.sample.Main.main(java.lang.String[]), java.util.LinkedList
]]>
</param-value>
</param>
 :

自動配置設定ファイルの作成方法については,「7.13.2 自動配置設定ファイルを使った明示管理ヒープ機能の使用」を参照してください。

自動配置設定ファイルは,運用管理ポータルの[起動パラメタの設定]画面(論理J2EEサーバの定義)またはユーザ任意のファイル(-XX:HitachiAutoExplicitMemoryFileプロパティで指定したファイル)でも設定できます。

(5) 明示管理ヒープ機能適用除外設定ファイルの設定

明示管理ヒープ機能適用除外設定ファイルを使用し,参照関係に基づく移動の対象となるオブジェクトに対して明示管理ヒープ機能の適用を制御する場合は,次のオプションの指定と,Explicitヒープに移動しないクラスの設定が必要です。

Explicitヒープに移動しないクラスの設定は,明示管理ヒープ機能適用除外設定ファイルに記述します。

記述例を次に示します。

com.sample.ClassA
com.sample.ClassB

また,明示管理ヒープ機能適用除外設定ファイルに記述しているクラスのうち,一部のクラスをExplicitヒープに移動したい場合は,明示管理ヒープ機能適用除外無効設定ファイルに,明示管理ヒープ機能適用除外の設定を無効にしたいクラスを記述します。

明示管理ヒープ機能適用除外設定ファイル,および明示管理ヒープ機能適用除外無効設定ファイルの作成方法については,「7.13.3 設定ファイルを使った明示管理ヒープ機能の適用対象の制御」を参照してください。