Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 保守/移行編


9.3.3 クラス別統計情報の出力

ここでは,クラス別統計情報を出力する方法について説明します。

クラス別統計情報を拡張スレッドダンプに出力するには,jheapprofコマンドを利用します。クラス別統計情報を出力したいJavaプロセスや,参照関係情報を出力したいクラスを指定して,jheapprofコマンドを実行します。

jheapprofコマンド実行時には,次の指定ができます。

次に,jheapprofコマンドの実行形式と実行例,および各指定方法について説明します。

〈この項の構成〉

(1) jheapprofコマンドの実行形式と実行例

jheapprofコマンドの実行形式と実行例を次に示します。jheapprofコマンドの詳細については,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「jheapprof(クラス別統計情報付き拡張スレッドダンプの出力)」を参照してください。

実行形式
  • Windowsの場合

    jheapprof [-f|-i] [-explicit|-noexplicit] [-class <クラス名>] [-fullgc|-copygc|-nogc] [-garbage|-nogarbage] [-rootobjectinfo|-norootobjectinfo] [-rootobjectinfost <サイズ>] -p <プロセスID> 
  • UNIXの場合

    jheapprof [-f|-i] [-explicit|-noexplicit] [-class <クラス名>] [-fullgc|-copygc|-nogc] [-garbage|-nogarbage] [-rootobjectinfo|-norootobjectinfo] [-rootobjectinfost <サイズ>] [-force] -p <プロセスID>
実行例

ここでは,プロセスIDが2463のJavaプロセスのクラス別統計情報を出力します。

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

    % jheapprof -p 2463

    jheapprofコマンドで-fオプションを省略している場合,次の確認メッセージが表示されます。

    Windowsの場合

    クラス別統計情報付き拡張スレッドダンプを出力するかどうかを確認するメッセージが次の形式で表示されます。

    Force VM to output HitachiJavaHeapProfile: ? (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)を作成し,プログラムを継続します。

(2) Explicitヒープの情報をクラス別統計情報に出力する場合

次の条件を満たしている場合,Explicitヒープの情報をクラス別統計情報に出力できます。

Explicitヒープの情報をクラス別統計情報に出力する場合は,jheapprofコマンドに-explicitオプションを指定して実行します。

明示管理ヒープ機能については,マニュアル「アプリケーションサーバ 機能解説 拡張編」の「7. 明示管理ヒープ機能を使用したFullGCの抑止」を参照してください。

(3) GCの実行有無を指定する場合

クラス別統計情報を出力する前に,GCを実行するかどうかを選択できます。この機能を統計前のGC選択機能といいます。クラス別統計情報を出力する前に,GCを実行するかどうかは,jheapprofコマンドに次のどれかのオプションを指定して実行します。

統計前のGC選択機能については,「9.7 統計前のGC選択機能」を参照してください。なお,Tenured領域内不要オブジェクト統計機能を実行する場合,統計前のGC選択機能は実行できません。