谷本 心 in せろ部屋

はてなダイアリーから引っ越してきました

HotRockitかわいいよ、HotRockit

HotRockit: What to Expect from Oracle's Converged JVM
新情報もありました。


VisualVMなどなかった(気づかなかった?)頃には、
詳しい障害情報が取れたり、パフォーマンスがGUIで見えるMission Controlは衝撃的で、
私自身、開発用のJDKとしてはHotSpotよりもJRockitの方を好んで使っていました。
なのでHotRockitにも注目と期待をしています。


さて、そんなHotRockitですが、以下の機能を持つとのこと。


1. JRCMDがJCMDに名前を変えて、利用できるようになる。
print_threads、print_memusage、print_object_summary、heap_diagnotics、start_flightrecordingなどなど。
元々、HotSpotでも別コマンドで実現できたものもありますが、
FlightRecorder系の新しいコマンドなども追加されることになります。


2. JDPも正式名称を変えて、利用できるようになる。
JDPは JRockit Discovery Protocol から Java Discovery Protocol に名前を変えて
HotRockitで使えるようになります。
ネットワーク上の管理可能なJVMを見つけるために使うプロトコルで、
既に動いてないJVMだって見つけることができるそうです。


3. MBeanもアップデート
JRockitのMBeanも、HotRockitで使えるようになります。
DiagnosticCommandMBean、ProfilingMBean、PerfCounterMBeanなど。


4. そして、Java FlightRecorder
JRocit Flight Recorder は Java Flight Recorder という名前になって利用ができます。
Flight Recorderは名前の通り、飛行機のブラックボックスのようなもので、
Javaプロセスを常時記録して(それでいてオーバーヘッドが少ない)
問題が起きた時などに情報を取り出すことができるツールです。
トラブルシュート屋として注目のツールですね。


5. Java Mission Controlも来ました
もう皆さんお気づきですが、これまでJRockitホゲホゲという名前だったツール群は
いずれもJavaホゲホゲという名前になってHotRockitでも使えるようになるのです。
このMission Controlも例外ではありません。
「VisualVMとの棲み分けは?」とは誰もが思う疑問ですが、今の所、明瞭な回答はありません。


6. Memleak Serverだって?
前のJJUG CCCでも紹介されていたそうですが、私は初見だった、Memleak Server。
Mission ControlからHeapの情報を部分的に見に行くような機能のようですね?
デモではHeapの親子関係を図示して、メモリリークの親を見つけるということをやっていました。
これまた、トラブルシュート現場で役立ちそうなツールですね。


その他にも、
HotRockitではPermGen領域がなくなるとか、リアルタイムGCが使えるようになる、
なども説明されちえました。


質疑応答では「リアルタイムGCとG1GC、どっちがメインなの?」という
質問が出ていましたが、まだ決まってないとのこと。
また、JRockit Virtual Editionの統合などもまだ決まっていないとの事でした。


以上のように、JRockitの要素がHotSpotに入ってくることで
特にトラブルシュートの手法に大きな影響(効率化)が出てくると思います。
僕も、今のうちからもうちょっと勉強しておこうと、改めて思わされました。