Successfully reported this slideshow.

HeapStats で GlassFish 4 障害解析 #glassfishjp

6,507 views

Published on

IcedTeaコミュニティで公開されているJava監視・解析支援を行うHeapStatsを使い、GlassFish4の障害解析をどのように進めるかを紹介しています。
HeapStatsはこちら:http://icedtea.classpath.org/wiki/HeapStats

Published in: Technology
  • Be the first to comment

HeapStats で GlassFish 4 障害解析 #glassfishjp

  1. 1. HeapStats で GlassFish4 障害解析KUBOTA Yuji (@sugarlife)1GlassFish Users Group Japan 勉強会 2013 #12013.06.14
  2. 2. 自己紹介● KUBOTA Yuji (@sugarlife)– 難聴者– ボルダリング– http://cco.hatenablog.jp/● 某通信インフラ系– Java (OpenJDK) / トラブルシューター– IcedTea Community Committer (HeapStats)– 過去に Java EE 検証も2
  3. 3. GlassFish4の監視● 楽に監視できる仕組みを揃えている。– CLI / REST / JMX access / Web Console– 詳しくは 50 Tips in 50 Mins for GlassFish Fans.● しかし、学習コストはなるべく下げたい– 監視と解析のそれぞれで学習コストがかかる– GlassFishとJVMで監視/解析する項目を切り分ける● GlassFish:セッション状況、アクティブなJSPページ数...● JVM:GCログ、ヒープダンプ、コアダンプ...3
  4. 4. HeapStats4解析
  5. 5. 5HeapStatsの特徴● 低オーバヘッド– GCと完全に同期して情報収集するため、5%以下(※)の低オーバーヘッドで常時収集。● リアルタイム検知– Deadlock / OutOfMemoryError をリアルタイムで検知し、SNMP等で外部通知が可能。● 一元的な解析– クラス別のメモリ使用率からサーバリソースまで、収集した情報をGUIで時系列に解析可能。● OSS※:SPECjvm2008のComposite resultによる測定• http://icedtea.classpath.org/wiki/HeapStats
  6. 6. HeapStatsで収集できる情報6 通常時 Java ヒープ関連 クラスヒストグラム GC 発生時間 原因 処理時間 世代別のJavaヒープ使用量 Javaランタイム関連 ネイティブメモリ使用率(RSS/VSZ) ライブスレッド数 モニタ(ロック)競合回数 完全停止(Stop-The-World)時間 CPU使用率 Javaプロセス内部の内訳(usr/sys) システム全体の使用率 異常時 ( OutOfMemoryError / Deadlock ) 障害発生日時 スレッドダンプ 各種バージョン Java / JVM Kernel / libc / distribution Java関連情報 JVM名 クラスパス JAVA_HOME 起動引数 / 起動フラグ(-XX系) 実行中のJavaプログラム名と引数 実行時間 (障害発生までの間隔) プロセス情報 ステータス (procfs - status) ネイティブメモリ (procfs - smaps) リソース制限 (procfs - limits) ソケットエンドポイント (netstat) syslog (/var/log/messages) stdout/stderr (存在すれば) GCログ (存在すれば)異常時はこの情報に加えて右の情報を取得
  7. 7. Demonstration7● GlassFish Open Source Edition 4.0– go https://glassfish.java.net/download.html– unzip glassfish*.zip;mv glassfish4 /path/to/glassfish/● HeapStats 1.0.0– go http://icedtea.wildebeest.org/download/heapstats/– rpm –ivh heapstats_agent-1.0.0-0*rpm– tar zxvf heapstats-1.0.0.tar.gz; cd heapstats*;java –jar heapstats.jar
  8. 8. HeapStats Project● HeapStats @ IcedTea– http://icedtea.classpath.org/wiki/HeapStats● ML– http://icedtea.classpath.org/mailman/listinfo/heapstats8Question?
  9. 9. (参考)オーバヘッドは?9アタッチなし アタッチあり

×