Javaトラブルシューティング メールマガジン
バックナンバー一覧


ENdoSnipeはJavaシステムを診断し障害要因を「見える化」するツールです Javaシステムの障害解析を行い解決までを迅速にサポートします
日付一覧
2010/06/23 14:34:27
2010/05/26 14:40:46
2010/05/21 18:23:37
2010/04/27 16:57:13
2010/04/16 16:47:00
2010/03/29 16:53:25
2010/02/19 13:38:46
2009/11/11 14:28:19
2009/08/31 17:08:53
2009/06/19 14:30:51
2009/06/02 16:28:54
2009/05/13 17:25:50
2009/03/17 14:06:50
2009/02/24 16:05:19
2009/01/23 14:50:12
2008/11/19 13:51:45
2008/10/23 11:12:25
2008/10/14 16:23:52
2008/08/29 17:47:43
2008/08/15 18:06:21
2008/07/29 11:05:15
2008/07/02 17:39:04
2008/06/20 16:04:33
2008/06/11 16:00:42

=> メルマガ登録ページ
2010/06/23 14:34:27
【JTS】Vol.020:jstatで時刻を出力する方法/[特典付き]特別セミナー開催のご案内
□━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━■
        〜全てのJava開発者に贈る〜                      2010/6/22
      Javaトラブルシューティング メールマガジン  Vol.020
      https://www.smg.co.jp/seminar/JTSMM/index.html
■━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━□

 こんにちは、SMGの江里口 温です。

 Javaに関わる様々なトラブルとその対応策を分かりやすく説明する、
 『Javaトラブルシューティング メールマガジン』の第20号です!

┏━━━━━━━━━━━■□□ CONTENTS □□■━━━━━━━━━━┓

 【1】お知らせ     : [特典付き] ENdoSnipe無料特別セミナー
               を開催します。
 ──────────────────────────────────
 【2】Javaトラブル事例 : jstatで時刻を出力したい。
 ──────────────────────────────────
 【3】編集後記     : Ver.4.5 β版の提供を開始しました。

┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 【1】 お知らせ / [特典付き] ENdoSnipe無料特別セミナーを開催
___________________________________

 既に特別号でお伝えしておりますが、日経SYSTEMSのアンケート
 「開発支援ツール徹底調査」テストツール部門 総合満足度2位獲得を
 記念し、6月30日に無料特別セミナーを開催します。

 セミナーでは、ENdoSnipeの効果的な利用方法について、
 開発のライフサイクルと絡めて、説明します。Ver. 4.5の新機能も
 ご紹介します。

 「日経SYSTEMS 定期購読 1年分」を抽選で20名様にプレゼントする
 特典もご用意しております。

 お座席も少なくなっておりますので、お早めに御申し込み下さい。

 =====================================================================
 【特典プレゼント付き 特別セミナー】
  アプリケーションライフサイクルにおけるENdoSnipe活用方法

  ◆開 催 日◆ 2010/6/30(水) 15:00〜17:00
  ◆会  場◆ ホテルサンルート品川シーサイド 海会議室
          東京都品川区東品川 4-12-8 品川シーサイド
          イーストタワー16階
          http://www.sunroutehotel.jp/shinagawaseaside/access.asp

  ◆定  員◆ 40名 
  ◆参 加 費◆ 無料

  ◆特  典◆ 抽選で20名様に「日経SYSTEMS 定期購読 1年分」をプレゼント
         ※当日セミナーにご参加頂き、別途申込頂く必要があります。

  ◆お申込み◆
   以下のお申し込みページに必要事項をご記入の上、お手続きください。
   URL : https://endosnipe.smg.co.jp/seminar/

  ◆お問合せ◆
   TEL : 045-476-3171 (担当:勝本、亀田)
   Mail : endosnipe@smg.co.jp
 =====================================================================


 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 【2】 Javaトラブル事例
   「jstatで時刻を出力したい。」
___________________________________

[問題]

 Javaのヒープ使用量や、フルGCの回数、時間などを調査するために、
 jstatを利用しています。

 いつも面倒なのが、時刻が出力されていないことです。
 2日間、3日間取得した後に、3万行目は一体何時何分のデータだったのか、
 計算して推測する手間が、いつもかかっています。

 jstat -tを使用すれば、Java起動時からの秒数は取得できますが、
 これでは起動時間を別に記録する必要があるため、手間が省けません。

 時刻を出力することは出来ないのでしょうか?

 Java : Java SE 5.0以降
 OS  : any


[解説]

 時刻を整形して表示することは出来ませんが、
 UTC 1970年1月1日午前0時からの経過時間(System.currentTimeInMillis相当)
 を表示することが出来ます。

 Excelでこの値を利用して計算することで、簡単に出力時刻を求められます。

 経過時間の取得は、jstatの出力内容をカスタマイズしたオプションを追加する
 ことで実現します。オプションの追加方法は、以下の通りです。

  (1) ホームディレクトリ(※)の下に、
     .jvmstat/jstat_options
    という構成でファイルを作成する。

  (2) jstat_options に追加のオプションの定義を記述する。

  (3) 追加したオプションをjstatコマンドで指定する。

   ※Windowsであれば、「C:\Documents and Settings\ユーザ名」など
    になります。


[対策]

 具体的に、以下のように「-gc」オプションの出力情報の先頭に
 タイムスタンプを出力することを考えます。

  ※幅の都合上、途中を省略しています。

  =================================================================
   $ jstat -mygcoption 3944 1000

   Timestamp         S0C    S1C   ・・(略)・・  FGCT     GCT
   1277189306488.1  320.0  320.0  ・・・・・・  0.753    0.990
   1277189307488.2  320.0  320.0  ・・・・・・  0.753    0.990
   1277189308488.2  320.0  320.0  ・・・・・・  0.753    0.990
   1277189309488.3  320.0  320.0  ・・・・・・  0.753    0.990
   1277189310488.3  320.0  320.0  ・・・・・・  0.753    0.990
  =================================================================

 この出力結果をExcelに貼り付け、A列にTimestampの値が来るようにした後、
 以下の計算をすることで出力時刻を求めることができます。

  「="1970/1/1"+ (A1/1000 + 32400) / 86400」
  (セルの書式設定で表示形式を日付にする)


 ■ jstat_optionsファイルの内容

  「-gc」オプションの出力情報の先頭にタイムスタンプを出力するための
  新しいオプションの設定には、以下を記述する必要があります。

   ・タイムスタンプを出力するカラム
   ・「-gc」オプションで出力するカラム

  「-gc」オプションで出力するカラムの設定は、標準のjstat_optionsに
  記述されています。標準設定は、JDKのtools.jarの以下のパスに格納
  されています。

   ・jstat_optionsのパス:sun\tools\jstat\resources\jstat_options


  実際の記述内容は、以下のようになります。

   ※行数の都合上、途中を省略しています。実際のファイルは、
     http://www.smg.co.jp/seminar/JTSMM/downloads/jstat_options
    からダウンロードして下さい。

  =================================================================
     option mygcoption {
       column {
         header "^Timestamp"
         data (sun.rt.createVmBeginTime + ((sun.os.hrt.ticks/sun.os.hrt.frequency) * 1000))
         scale sec
         align right
         width 15
         format "0.0"
       }
       column {
          header "^S0C^"
          data sun.gc.generation.0.space.1.capacity
          scale K
          align center
          width 6
          format "0.0"
        }
        column {
          header "^S1C^"
          data sun.gc.generation.0.space.2.capacity
          scale K
          align center
          width 6
          format "0.0"
        }

   ・・・・・省略・・・・・

        column {
          header "^FGCT^"
          data sun.gc.collector.1.time/sun.os.hrt.frequency
          align right
          width 8
          scale sec
          format "0.000"
        }
        column {
          header "^GCT^"
          data (sun.gc.collector.0.time + sun.gc.collector.1.time)/sun.os.hrt.frequency
          align right
          width 8
          scale sec
          format "0.000"
        }
     }
  =================================================================


[参考]

 監視対象のJava VMで計測している値には、以下のように様々なカテゴリが
 あります。jstatは、ヒープメモリの使用状況を見るためだけでなく、
 幅広く、有効活用が可能です。

  ・javaのプロパティ
  ・スレッド
  ・GCの情報
  ・ファイナライズキューの情報
  ・ロードしたクラス


 ●――次号予告――――――――――――――――――――――――――●
  次号もJaTSで解決した問題に関する情報をお届けする予定です。
  次号も楽しみにお待ち下さい。
 ●――――――――――――――――――――――――――――――――●


 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 【3】 編集後記 / Ver.4.5 β版の提供を開始しました。
___________________________________

 近くリリース予定のENdoSnipe Ver.4.5ですが、β版の公開を開始しました。

 既にご購入頂いているお客様は、ユーザサポートサイトよりダウンロード
 することが可能です。

 「購入はまだだが、まずは見てみたい」という方には、最大1ヶ月間の試用が
 可能な評価版を提供しています。ぜひ、この機会に触れてみて下さい。

 評価版についての詳細は、下記の問い合わせフォームよりご連絡下さい。
 https://endosnipe.smg.co.jp/contact/


 なお、Ver.4.5の新機能につきましては、ブログでも紹介を始めております。
 そちらも是非ご覧下さい。

 http://endosnipe.smg.co.jp/blg/


 それでは、次号もお楽しみに。

                        ◇ 2010年6月22日 ◇


 ご意見・ご感想は、jtsmm@smg.co.jp までお寄せください。



---------------------------------------------------------------------
※このメルマガは
 「★SMG★Javaトラブルシューティング メールマガジン」に
 ご登録頂いた方にお届けしております。

 本メールに関するお問合せは、「ご案内元」に記載している
 メールアドレスまでご返信をお願いいたします。
 また、情報配信の停止・削除につきましては「ご案内元」に記載している
 URLにてお手続きをお願いします。

 また、本メールマガジンに掲載されている内容の無断転載を禁じます。
---------------------------------------------------------------------


──────────────  ご案内元  ────────────

            エスエムジー株式会社
          〜心に響くSmile & Technology〜

           URL:http://www.smg.co.jp/
       
        TEL :045-476-3171 (9:30〜11:30, 12:30〜17:00)
               (土日祝日および弊社休業日を除く)

  メルマガに関するご感想・お問い合わせなど:
   jtsmm@smg.co.jp
  メルマガの配信停止、削除等:
   https://www.smg.co.jp/seminar/JTSMM/index.html

  エスエムジー製品に関するお問い合わせ:
   https://www.smg.co.jp/service/inquiry/inquiry_form.html
  個人情報開示に関するお問い合わせ  :
   privacy@smg.co.jp

──────────────────────────────────


メールマガジン登録ページ




AHREFロゴ
Copyright (C) 2007 ahref.org All Rights Reserved.