4.7.3 日立固有のJavaVMのコマンドを使用する場合

日立固有のJavaVMのコマンドを使用すると,拡張スレッドダンプにクラス別統計情報やExplicitヒープ詳細情報を取得できます。

<この項の構成>
(1) クラス別統計情報の拡張スレッドダンプへの取得
(2) Explicitヒープ詳細情報の拡張スレッドダンプへの取得

(1) クラス別統計情報の拡張スレッドダンプへの取得

クラス別統計情報を含む拡張スレッドダンプは,jheapprofコマンドを実行して取得します。クラス別統計情報は,クラス別統計機能で出力する情報で,ガーベージコレクションによるJavaオブジェクトの変化や,Javaオブジェクトの参照関係などを調査する場合に使用します。クラス別統計機能については,「8.3 クラス別統計機能」を,クラス別統計情報の出力方法については,「8.3.3 クラス別統計情報の出力」を参照してください。jheapprofコマンドについては,マニュアル「Cosminexus アプリケーションサーバ リファレンス コマンド編」の「jheapprof(日立クラス別統計情報付き拡張スレッドダンプの出力)」を参照してください。

(2) Explicitヒープ詳細情報の拡張スレッドダンプへの取得

Explicitヒープ詳細情報のうち,次の情報は明示管理ヒープ機能が有効な場合に,拡張スレッドダンプに必ず取得されます。

Explicitヒープ詳細情報のオブジェクト統計情報は,eheapprofコマンドを実行して拡張スレッドダンプに取得します。オブジェクト統計情報は,Explicitメモリブロック内の詳細情報です。明示管理ヒープ機能を使用するシステムのデバッグや障害解析に使用します。

明示管理ヒープ機能については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 拡張編」の「8. 明示管理ヒープ機能を使用したフルガーベージコレクションの抑止」を参照してください。eheapprofコマンドについては,マニュアル「Cosminexus アプリケーションサーバ リファレンス コマンド編」の「eheapprof(Explicitヒープ詳細情報付き拡張スレッドダンプの出力)」を参照してください。

実行形式
Windowsの場合

eheapprof [-f|-i] -p <プロセスID>

UNIXの場合

eheapprof [-f|-i] [-force] -p <プロセスID>

実行例
ここでは,プロセスIDが2463のJavaプロセスのクラス別統計情報を出力します。
  1. -pオプションに,クラス別統計情報を出力したいJavaプロセスのプロセスIDを指定して,eheapprofコマンドを実行します。

    % eheapprof -p 2463

    eheapprofコマンドで-fオプションを省略している場合,次の確認メッセージが表示されます。
    Windowsの場合
    日立クラス別統計付き拡張スレッドダンプを出力するかどうかを確認するメッセージが次の形式で表示されます。

    Force VM to output ExplicitHeapProf: ? (y/n)

    UNIXの場合
    プロセスIDを確認するメッセージが次の形式で表示されます。

    send SIGQUIT to 2463: ? (y/n)

  2. yを入力します。
    日立クラス別統計付き拡張スレッドダンプを出力すると,実行中のjavaプログラムでは次のメッセージが出力されます。

    Writing Java core to javacore2463.030806215140.txt... OK

    実行中のjavaプログラムは,カレントディレクトリに日立クラス別統計付き拡張スレッドダンプ(javacore<プロセスID>.<日時>.txt)を作成し,プログラムを継続します。