KEMBAR78
JVM! JVM! JVM! | PDF
J
V
M
J
V
M
J
V
M
J
V
M
J
V
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のメモリまわりやGCま
わりのリソースモニタリング
の話。チューニングとかの
話はないにょ。
JDK同梱ツール
これから紹介するjstat, jmap, jconsole
とかの詳しい使い方は↓みてね
http://docs.oracle.com/javase/jp/7/
technotes/tools/index.html
jps
● Javaなプロセスの表示 便利!!
jstat
● ローカル/リモートの統計データの表示
● *statと同じく、繰り返しサンプリングできる
!
!
● -class: ロードされたクラスの数やバイト数
● -gc: Servivor, Eden, Old, Perm各領域と
GCの実行回数、所要時間
● などなど
jmap
● ローカルのプロセスやコア
ファイル、リモートデバッグ
サーバーに接続しメモリ等の
情報を返す
● -heap GCアルゴリズム、
ヒープ構成、世代ごとのヒー
プ使用率
● -histo クラスごとに、イ
ンスタンス数、専有してる
メモリサイズ
jconsole
● メモリ統計、スレッド数、クラス数をグラフィ
カルに表示
jconsole
jconsole
jmc
Java Mission Control
● メモリ統計、スレッド数、クラス数をグラフィカルに表
示
● jconsoleと似たような感じだけどjmcの方がなうい?
● ダッシュボードのカスタマイズ(グラフの追加)が可能
● Flight Recorderというプロファイリングツールがあ
る。が商用ライセンスが必要(らしい
● -XX:+UnlockCommercialFeatures 

-XX:+FlightRecorder
● Eclipseプラグインとしても利用できる(らしい
jmc
Java Mission Control
jmc
Java Mission Control
jvisualvm
Java VisualVM
● http://docs.oracle.com/javase/jp/7/
technotes/guides/visualvm/index.html
● メモリ統計、スレッド数(ry
● jconsoleとjmcと似たような(ry
jvisualvm
Java VisualVM
jvisualvm
Java VisualVM
visualgc
● メモリ統計とGCがらみ
● jvmstatに含まれる(要別途ダウンロード
● http://www.oracle.com/technetwork/
java/jvmstat-142257.html
● ハイパーな感じ!!!
visualgc
その場で細かくモニタ
するのにはよいが、中
長期的な期間で俯瞰、
比較するには向いてい
ない
みんなだいすき

ナントカForecast!
そこで!!
GrowthForecast
http://blog.nomadscafe.jp/2014/04/jstatjvmgrowthforecast.html
CloudForecastでサー
バーのリソースグラフ
描いてるんで、それと
並べて見たいにょ…
CloudForecast
CloudForecast
CloudForecast
CloudForecast
CloudForecast
CloudForecast
CloudForecast
CloudForecast
CloudForecast
CloudForecast
CloudForecast
CloudForecast
Easy to use!
たった1行追加するだけでイマなら
なんと10コものグラフがあなたの元
へ!!!!
component_config:
resources:
- jvm::8778::Elasticsearch
● 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,discoveryE
nabled=false
J
V
M
J
V
M
J
V
M
J
V
M
J
V
M
J
V
M
J
V
M
J
V
M
J
V
M
J
V
M
J
V
M
J
V
M
オシマイ

JVM! JVM! JVM!