アプリケーションサーバで動作するバッチサーバのプロセスは,JavaVM上で実行されます。
JavaVMは,構成ソフトウェアであるDeveloper's Kit for Javaによって提供される,独自のJavaVMです。JavaVMの機能を次の表に示します。それぞれの機能の詳細については,参照先の説明を参照してください。
表2-31 JavaVMの機能
機能 | 説明 | 参照先マニュアル※ | 参照個所 |
---|---|---|---|
明示管理ヒープ機能 | FullGC発生の要因になるJavaオブジェクトをExplicitヒープ領域に配置できます。アプリケーションで使用するJavaオブジェクトによる,FullGCの発生を抑止できます。 | このマニュアル | 8章 |
クラス別統計機能 | 各クラスのインスタンスが持つメンバの配下にあるすべてインスタンスのサイズを,クラス別統計情報として拡張スレッドダンプに出力できます。クラス別統計情報を複数回出力すると,GCによるJavaオブジェクトの変化や,寿命が短いJavaオブジェクトの状態などを調査できます。クラス別統計情報を出力する機能としては,インスタンス統計機能,STATICメンバ統計機能,参照関係情報出力機能,統計前のGC選択機能,Tenured領域内不要オブジェクト統計機能,およびTenured増加要因の基点オブジェクトリスト出力機能があります。 | 保守/移行編 | 9.3 |
クラス別統計情報解析機能 | 拡張スレッドダンプに出力したクラス別統計情報を基に,クラスごとのインスタンスの合計サイズ,およびクラスごとのインスタンス数を2種類のCSVファイルとして出力できます。 | 9.10 | |
Survivor領域の年齢分布情報出力機能 | CopyGC実行時に,JavaVMログファイルにSurvivor領域のJavaオブジェクトの年齢分布を出力できます。Survivor領域の使用状況が調査でき,メモリサイズのチューニングに使用できます。 | 9.11 | |
hndlwrap機能 | ログオフ時のJavaVMのログオフイベントの発生を抑止できます。 | 9.12 |
注※ 参照先のマニュアル名称は,「アプリケーションサーバ 機能解説」を省略しています。
また,JavaVMでは,障害発生時の要因分析やシステムの状態確認に利用できるよう,ログの出力内容が拡張されています。このログは,JavaVMログファイルに出力され,標準のJavaVMよりも,多くのトラブルシュート情報が取得できます。さらに,このログ(拡張verbosegc情報)を利用して適切なチューニングを実施することで,システムの可用性向上が図れます。JavaVMログファイルについては,マニュアル「アプリケーションサーバ 機能解説 保守/移行編」の「4.10 JavaVMログ(JavaVMログファイル)」を参照してください。JavaVMのチューニングについては,マニュアル「アプリケーションサーバ システム設計ガイド」の「7. JavaVMのメモリチューニング」を参照してください。