カスタム検索

2008年4月27日日曜日

JRockitと友達に

この投稿の配下に、JRockitに関する情報交換する場を設けたいと思います。
JVMって、単にJavaが動くに必要な物で、「だから?」という認識でいました。
これを勉強する羽目になり、本当にいろいろ冷や汗をかかせてもらいました。。。

4 件のコメント:

匿名 さんのコメント...

JRockitを使うと、その監視ツールとしてJRMCというソフトが使えます。
で、JRMCですが、当然JRockitと通信するわけですが、その際のプロトコルって?
などという疑問がわくわけですが、これいかに?
 回答は次のとおりです。
  JMX over RMI

匿名 さんのコメント...

さらに、このJRMCですが次の4つのツールから構成されています。
・JMC(JRockit Management Console)
これはJVMの稼働状況を監視するのが目的
 さらに、閾値を設定させ、自動的に管理者へメールを送信したり、thread dumpをファイルに保存させたりさせることができます。

・JRA(JRockit Runtime Analyzer)
 いわゆるpofilerです。
 ポイントは、実運用中にデータを保存させても大きな負荷を与えないという、他のprofilerでは実現できない事をやってのけます。

・JLA(JRockit Latency Analyzer)
 JVM上で起こる様々なイベント各々の記録をとることができるのが特徴です。
 なぜうれしいかといいますと、これまでのprofilerではJVM全体としてどんなクラスが呼び出されているかとか、heapの使用率が云々といった全体感をつかむことがメインでした。
 しかし、このJLAでは各threadで、どんなイベントが何ms起動されていたかをチェックすることができます。 この事により、systemのハング原因を見つける有効なツールとなりうるわけです。

・JRocit Memory Leak Ditector
 メモリ上でのリークを見つけるツールです。


以上の様に、今までは軽視されがちであったJVMの監視をするツールが、JRMCというわkです。

では、why do we need?
これは昨今のシステムに対するリアルタイム性の要求に応える為の、重要なkey itemというわけです。 つまり、何かシステムのresponseが悪くなった時に、その原因を追求する為のデータを取っておけるツールがなければ、いつまで経っても(原因の再現なんてほとんどの場合、不可能ですからね。。。)正確な原因がわからないということになります。 そんな事やっていたら、「システム監視体制はどうなっていたんだ!」と世間に言われてしまいますよ。。。
 なので、こういったツールを導入し、やるべきことはやっています。と、アピールしておくことも重要かな?と思います。

ITエンジニア さんのコメント...

JMCについて

当然JVM情報がとれますが、CPU使用率やメモリ全体の使用率も監視できます。
 ただ、メインはJVMの監視ですので、JVM情報となりますが、正確に云うとMBeanに定義された属性値が対象となります。 よって、閾値という事を上記に記載しましたが、文字列でも良いわけです。

 このJMCのポイントは、単にMBeanで定義された属性を監視するだけではなく、設定した値に達した場合は、JMCが自動で次のいずれかのアクションを取る事ができるように仕掛けることができる点です。
 1、JMCを起動している端末(laptopや運用監視端末等)に、dialogを表示させる
 2、SMTPを使って、メールサーバへメッセージを送付させる
 3、thread dump情報と共に、ファイルシステムにtextファイルを作成する

等といった、必要な人に情報をアナウンスする機能も持った、非常に有益なツールであることを、みなさんと共有します。

匿名 さんのコメント...

OracleによるBEAの買収により、名称が変更されました。
Oracle JRockit
となるそうです。
また、WLRTの販売形態も変わり、WLSとの抱き合わせ販売のみになった模様。