ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server トラブルシューティング集
Interstage

A.5.11 データ説明

  Java監視機能が画面に表示、あるいはファイルに保存するデータの形式について説明します。


メソッドサンプリング

  メソッドサンプリング機能を操作した際に画面(結果の表示域)に表示されるデータの形式やファイル出力したCSV形式について説明します。


画面表示されたデータ形式

  メソッドサンプリングの結果の表示例を以下に示します。

  なお、ロギング機能の指定によりロギングファイルに採取された情報は、画面表示されたメソッドサンプリング結果と同じです。

  ロギングファイルに採取された情報は、本説明を参照してください。

  メソッドサンプリングの結果は、[スタックトレース]と[サンプリング情報]の2種類のデータで構成されます。

ファイル保存されたCSV形式

  メソッドサンプリングの結果を[CSV形式で保存する]ボタンを押してファイルへ保存した、ファイル形式の説明をします。

  メソッドサンプリングをファイルへ保存した場合は、ファイルの内容は画面上に見えている現在のメソッドサンプリングの結果をカンマ(“,”)区切りしたもので、[スタックトレース]と[サンプリング情報]の2種類のデータで構成されます。

ロギングファイル

  ロギング機能を利用してメソッドサンプリングの結果を保存した際のロギングファイルの説明をします。

  ロギングファイルは、次のファイル名の命名規約により決定し、作成されます。

  [ロギングファイル名]

${ログファイル格納ディレクトリ}\sampling_${hostname}_${pid}_${date-time}.log

  [ロギングファイル名の説明]

${ログファイル格納ディレクトリ}

ログファイルが格納されるディレクトリです。
“設定”ダイアログボックスの“ロギング”>“ディレクトリ”で指定したディレクトリです。

sampling

メソッドサンプリングのロギングファイルであることを示す、接頭文字列です。
固定の文字列“sampling”を用います。

_

固有文字列とホスト名の間にセパレータ文字として“_”が入ります。

${hostname}

監視対象としているJavaプロセスが動作しているホスト名です。
不明な場合は“unknown”と示されます。

_

ホスト名とプロセスIDの間にセパレータ文字として“_”が入ります。

${pid}

監視対象としているJavaプロセスのプロセスIDです。

_

プロセスIDとロギングファイルの作成日の間にセパレータ文字として“_”が入ります。

${data-time}

ロギングファイルの作成日時です。“yyyyMMDDhhmmss”の形式をしています。

  yyyy-西暦(4桁で示します)
  MM-月(2桁で示します。1月から9月までは“08”のように0を入れます)
  DD-日(2桁で示します。1日から9日までは“04”のように0を入れます)
  hh-時(24時間系で示します。0時から9時までは“01”のように0を入れます)
  mm-分(2桁で示します。0分から9分までは“09”のように0を入れます)
  ss-秒(2桁で示します。0秒から9秒までは“07”のように0を入れます)

.log

固定文字列です。

  ロギングファイルは、メソッドサンプリングの結果書き込みを行う前にファイルサイズの確認を行います。結果の書き込みによりファイルサイズが、2Gバイトを超えることを検出すると新たにファイルを作成し、新しいファイルに結果の書き込みを行います。(このファイル切り替えをファイルローテーションと呼びます)

  ファイルローテーションが起こった場合、ロギングファイルの世代をファイル名中の“${data-time}”の部分で知ることができます。

ロギングのタイミング

  メソッドサンプリング結果のロギングは、[開始]ボタンから[停止]ボタンまでの間、画面にメソッドサンプリング結果が表示されるごとにファイルへ追書きします。[一時停止]ボタンを押している間は、記録の追書きは行われません。


オブジェクトヒストグラム

  ヒープ分析のオブジェクトヒストグラム機能を操作した際に画面(結果の表示域)に表示されるデータの形式とファイル出力したCSV形式について説明します。


画面表示されたデータ形式

  オブジェクトヒストグラムの結果の表示例を以下に示します。

  オブジェクトヒストグラムは、Javaヒープ上のオブジェクトを、クラス名ごとにサイズおよび個数の総和を開始点と終了点それぞれで求め、終了点の総和から開始点の総和を引いた値を示したものです。

  開始点および終了点は、“開始時刻”([開始]ボタンを押したとき)と“終了時刻”([終了]ボタンを押したとき)に示された時刻になります。

  オブジェクトヒストグラムの結果は、次の順番でソートされ表示されます。

  1. 終了点の総和から開始点の総和を引いたオブジェクトサイズが大きなもの

  2. 1の条件が同値のものが存在した場合、個数の大きなもの

  3. 2の条件が同値のものが存在した場合、オブジェクトヒストグラム検出順

  オブジェクトヒストグラムの結果は、次のデータで構成されます。

開始時刻

オブジェクトヒストグラムの情報収集を開始した時刻です。
“Wed Jul 30 10:53:24 JST 2008”のように“曜日 月 日 時刻 JST 年”の形でオブジェクトヒストグラムの情報収集を開始した日時の情報を示します。

終了時刻

オブジェクトヒストグラムの情報収集を終了した時刻です。
“Wed Jul 30 10:58:07 JST 2008”のように“曜日 月 日 時刻 JST 年”の形でオブジェクトヒストグラムの情報収集を終了した日時の情報を示します。

データ項目名

オブジェクトヒストグラムの結果に表示されているデータの項目名を示した行です。
データは、“増減[バイト]”、“増減[個数]”、“クラス名”の順であることを示しています。

結果1~N

終了点から開始点を引いた結果です。
サイズ(“増減[バイト]”)の大きなものから順に並べた結果です。


ファイル保存されたCSV形式

  オブジェクトヒストグラムの結果を[CSV形式で保存する]ボタンを押してファイルへ保存した、各行の説明をします。

  オブジェクトヒストグラムをファイルへ保存した場合は、ファイルの内容は画面上に見えている現在のオブジェクトヒストグラムの結果をカンマ(“,”)区切りしたものです。

  たとえば、画面上、次のオブジェクトヒストグラムの結果が表示されていたとします。

  この場合、次のようなデータになります。

"開始時刻","Wed Jul 30 10:53:24 JST 2008"
"終了時刻","Wed Jul 30 10:58:07 JST 2008"
"増減[バイト]","増減[個数]","クラス名"
"411320","42","char[]"
"298448","293","byte[]"
"19968","48","sun.misc.CacheEntry[]"
"9224","23","<methodDataKlass>"
"2880","90","java.lang.ref.Finalizer"
"2304","36","sun.security.provider.MD5"
"1632","12","com.sun.net.ssl.internal.ssl.SSLSocketImpl"
"1536","24","sun.security.pkcs11.P11Cipher"
"1344","24","javax.crypto.Cipher"
"1152","48","sun.misc.Cache"
"1152","48","java.security.MessageDigest$Delegate"
"1152","28","java.util.Hashtable$Entry[]"
"1152","24","sun.security.pkcs11.P11Key$P11SecretKey"
"1152","24","com.sun.net.ssl.internal.ssl.MAC"
"1144","13","com.sun.net.ssl.internal.ssl.SSLSessionImpl"
"1120","28","java.util.HashMap"
"1080","45","java.lang.String"
"1080","9","java.net.SocksSocketImpl"
  :
[以下、省略]
  :

  各データ項目の意味は、“◆画面表示されたデータ形式”を参照してください。


ヒープダンプ

  ヒープ分析の[ダンプを取得する]ボタンを押した場合、Java監視機能が測定対象としているコンテナが動作しているアプリケーションサーバ上に、ヒープダンプと呼ばれる現在のJavaヒープのイメージをファイルとして採取します。

  このヒープダンプのファイルは、次のファイルパスおよびファイル名の命名規約により決定し、作成されます。

  [ヒープダンプファイルのファイルパス]

/${tmpdir}/fjvm-heapdump.${pid}.${data-time}

  [ヒープダンプファイル名の説明]

/${tmpdir}

Java監視機能のヒープダンプ出力用フォルダです。
Javaのシステムプロパティ“java.io.tmpdir”に示されるフォルダが入ります。
通常、“/var/tmp”になります。

fjvm-heapdump

ファイル名の接頭文字列です。“fjvm-heapdump”固有の文字列を用います。

.

固有文字列とPIDの間にセパレータ文字として“.”(ピリオド)が入ります。

${pid}

測定対象のサーバ上でのプロセスIDです。

.

PIDとヒープダンプ採取日時の間にセパレータ文字として“.”(ピリオド)が入ります。

${data-time}

ヒープダンプ採取の日時です。
“MMDDhhmmss”の形式をしています。
  MM-月(2桁で示します。1月から9月までは“08”のように0を入れます)
  DD-日(2桁で示します。1日から9日までは“04”のように0を入れます)
  hh-時(24時間系で示します。0時から9時までは“01”のように0を入れます)
  mm-分(2桁で示します。0分から9分までは“09”のように0を入れます)
  ss-秒(2桁で示します。0秒から9秒までは“07”のように0を入れます)

  ヒープダンプが採取された場合、ヒープ分析の画面上には以下のようにファイルパスが示されます。

ヒープダンプ採取の留意事項

  “ヒープ分析”画面の[ダンプを採取する]ボタンは、ヒープダンプ採取の操作を提供します。

  Java監視機能の画面(“ヒープ分析”)上でヒープダンプを解析することはできません。また、ヒープダンプを採取したサーバからJava監視機能が動作している端末上に、ヒープダンプのファイルをファイル転送することもできません。