36
V M M M M M J V M J V M J V M J V M J V M J V M J V M Monitoring Casual #6 ひろせまさあき @hirose31

JVM! JVM! JVM!

Embed Size (px)

DESCRIPTION

Monitoring casual #6 http://www.zusaar.com/event/11447004

Citation preview

Page 1: JVM! JVM! JVM!

JVM

JVM

JVM

JVM

JVM

J V M

J V M

J V M

J V M

J V M

J V M

J V M

Monitoring Casual #6ひろせまさあき @hirose31

Page 2: JVM! JVM! JVM!

今日のお話

JVMのメモリまわりやGCまわりのリソースモニタリングの話。チューニングとかの話はないにょ。

Page 3: JVM! JVM! JVM!

JDK同梱ツール

これから紹介するjstat, jmap, jconsoleとかの詳しい使い方は↓みてね http://docs.oracle.com/javase/jp/7/technotes/tools/index.html

Page 4: JVM! JVM! JVM!

jps●Javaなプロセスの表示 便利!!

Page 5: JVM! JVM! JVM!

jstat●ローカル/リモートの統計データの表示 ● *statと同じく、繰り返しサンプリングできる

!

!

●-class: ロードされたクラスの数やバイト数 ● -gc: Servivor, Eden, Old, Perm各領域とGCの実行回数、所要時間

●などなど

Page 6: JVM! JVM! JVM!

jmap●ローカルのプロセスやコアファイル、リモートデバッグサーバーに接続しメモリ等の情報を返す ● -heap GCアルゴリズム、ヒープ構成、世代ごとのヒープ使用率

● -histo クラスごとに、インスタンス数、専有してるメモリサイズ

Page 7: JVM! JVM! JVM!

jconsole●メモリ統計、スレッド数、クラス数をグラフィカルに表示

Page 8: JVM! JVM! JVM!

jconsole

Page 9: JVM! JVM! JVM!

jconsole

Page 10: JVM! JVM! JVM!

jmc Java Mission Control

●メモリ統計、スレッド数、クラス数をグラフィカルに表示

● jconsoleと似たような感じだけどjmcの方がなうい? ●ダッシュボードのカスタマイズ(グラフの追加)が可能 ●Flight Recorderというプロファイリングツールがある。が商用ライセンスが必要(らしい ● -XX:+UnlockCommercialFeatures -XX:+FlightRecorder

●Eclipseプラグインとしても利用できる(らしい

Page 11: JVM! JVM! JVM!

jmc Java Mission Control

Page 12: JVM! JVM! JVM!

jmc Java Mission Control

Page 13: JVM! JVM! JVM!

jvisualvm Java VisualVM

●http://docs.oracle.com/javase/jp/7/technotes/guides/visualvm/index.html

●メモリ統計、スレッド数(ry ● jconsoleとjmcと似たような(ry

Page 14: JVM! JVM! JVM!

jvisualvm Java VisualVM

Page 15: JVM! JVM! JVM!

jvisualvm Java VisualVM

Page 16: JVM! JVM! JVM!

visualgc

●メモリ統計とGCがらみ ● jvmstatに含まれる(要別途ダウンロード ●http://www.oracle.com/technetwork/java/jvmstat-142257.html

●ハイパーな感じ!!!

Page 17: JVM! JVM! JVM!

visualgc

Page 18: JVM! JVM! JVM!

その場で細かくモニタするのにはよいが、中長期的な期間で俯瞰、比較するには向いていない

Page 19: JVM! JVM! JVM!

みんなだいすきナントカForecast!そこで!!

Page 20: JVM! JVM! JVM!

GrowthForecast

http://blog.nomadscafe.jp/2014/04/jstatjvmgrowthforecast.html

Page 21: JVM! JVM! JVM!

CloudForecastでサーバーのリソースグラフ描いてるんで、それと並べて見たいにょ…

Page 22: JVM! JVM! JVM!

CloudForecast

Page 23: JVM! JVM! JVM!

CloudForecast

Page 24: JVM! JVM! JVM!

CloudForecast

Page 25: JVM! JVM! JVM!

CloudForecast

Page 26: JVM! JVM! JVM!

CloudForecast

Page 27: JVM! JVM! JVM!

CloudForecast

Page 28: JVM! JVM! JVM!

CloudForecast

Page 29: JVM! JVM! JVM!

CloudForecast

Page 30: JVM! JVM! JVM!

CloudForecast

Page 31: JVM! JVM! JVM!

CloudForecast

Page 32: JVM! JVM! JVM!

CloudForecast

Page 33: JVM! JVM! JVM!

CloudForecast

Page 34: JVM! JVM! JVM!

Easy to use!たった1行追加するだけでイマならなんと10コものグラフがあなたの元へ!!!!

component_config: resources: - jvm::8778::Elasticsearch

Page 35: JVM! JVM! JVM!

●http://www.jolokia.org/ ●JMX-HTTP bridge: JMXにHTTPでアクセスできるようになる!かわいい!!

●監視とかにも使えるね! ●JVM agentならjavaのオプションに追加するだけで導入可能 (>= Java SE 6) ●プロプラなプロダクトでも導入可能!

java -javaagent:/path/to/jolokia-jvm-agent.jar=port=8778,host=0.0.0.0,discoveryEnabled=false

Page 36: JVM! JVM! JVM!

JVM

JVM

JVM

JVM

JVM

J V M

J V M

J V M

J V M

J V M

J V M

J V M

オシマイ