先週木曜日の話ですが、Oracleのさとうなおきさんが開催してくださった JRockit のセミナーに参加いたしました。
・緊急開催! JRockit開発者が語る Oracle JRockit JVM 技術セミナー : ATND
Appeal Virtual Machines(後にBEAに買収され、BEAがOracleに買収される)時代から在籍しているという Marcus Hirt さんが来日ということで開催されたセミナーです。
・参加の目的
目的はもちろん最新の JRockit に搭載されたフライトレコーダー機能!
JRockit はもともと JRA と呼ばれる競馬関係の何かとまちがえそうなオンラインVM解析機能や、さらにそれを洗練させた JRocikt Misson Control という機能が内蔵されていました。
フライトレコーダーはその名の通り、JRockit Misson Control を発展させ、オフラインで後からでも解析できるというすばらしい機能です。
・所感
デモを見てみましたが、VisualVMとMemoryAnalyzerと侍の良いところを足してかっこいい見栄えにした感じと言えば良いでしょうか。
一言で言うと「おぉ!良い感じ」
これまでメモリリークの解析にはヒープダンプと Memory Aanalyzer が標準的?な解析方法だったと思いますが問題が2点ありました。
1点はヒープダンプの取得はとても重く、運用環境での取得が難しい場合があること。もう1点はリークしているインスタンスをどのクラスローダを保持しているか見極められない事です。
フライトレコーダーはオンラインでもオフラインでも非常に軽くヒープ内の解析が行えること、またクラスローダ別に解析できることでこの2つの問題を見事にクリアしています。
まさに Memory Analyzer / 侍 いらずといえるでしょうか?
・侍は本当にもういらない?
ただ、フライトレコーダーではスタックトレースの解析やオブジェクトのロック関係の解析は行えないそうなので、この点に関してだけ言えば侍の使い道もまだあると言えそうです。
JConsoleのプラグインに対応していたり、Swing-SWTのブリッジライブラリを使っているそうなので Swing ベースの侍を統合するのも難しくないはず、やろうぜやろうぜ!という話になりました。
・OpenJDK + JRockit = ?
大人げなく「オープンソース化(OpenJDKとの統合?)の予定はないのか?」と質問したところ、議論はあったそうですが今のところ予定はないそうです。ただ、フレームワーク部分や GCのアルゴリズムなどは OpenJDK との統合もありえなくもないそうなので、今後の動向が気になるところです。
・OTNライセンス万歳
JRockit Misson Control は以前、評価ライセンスだと VM 起動後一時間であれば利用できる(再起動すれば何度でも使える)というむず痒い仕様でした。つまり、簡単に再現できる現象であればホイホイ使えるけれども運用環境で使いたければ WebLogic を買いましょうということです。
ところが、Oracle に買収されたことで製品の評価ライセンスが一律 OTN ライセンスという形態に統一されました。
WebLogic の接続IPアドレス数制限は撤廃され、なんと JRockit Misson Control も時間制限なく使えるようになったそうです。(これはセミナー話された内容ではなく後で中の人に聞いた話です)
つまり VM に依存しない現象であればさくっと JRockit をインストールして試験してしまえば良いわけです(、よね?)
ただ運用環境での利用はだめですよ。以前は at your own risk であれば使えた気がするのですが・・・。
・飲み
セミナーの後は元同僚やOracleの人、そして Marcusと飲みに行きました。席の配置からあまり Marcus とは話せませんでしたが、侍で今後コラボできたら面白いかな?と思っています。
以上セミナーレポートでした。
関連記事・ブログ:
・メモリリークトラブルシューティング記 – その5: Memory Analyzer でヒープダンプを解析(最終回) – 侍ズム
・緊急開催! JRockit開発者が語る Oracle JRockit JVM 技術セミナー (7/22) – S/N Ratio (by SATO Naoki)
・Togetter – 「緊急開催! JRockit開発者が語る Oracle JRockit JVM 技術セミナー」
・Marcus Hirt's Blog