- PR -

JVMPIとTomcat

1
投稿者投稿内容
がっさん
常連さん
会議室デビュー日: 2003/10/03
投稿数: 24
投稿日時: 2003-12-16 14:36
ごぶさたしております。
ちいにぃさん、さくらばさん先日のJVMPIの件では
たいへんお世話になりました。

Tomcatと共にJVMPIのプログラムを走らせているのですがかなり重いです。
(スペック的には問題ないのですが、プロファイラをかけている分しかたないのですね)
ここで何か良い方法がないかとういうのが質問です。

例えば、tomcat起動時にはプロファイラはかけないで
サーブレットの呼び出しがあった時に動的にプロファイラと共に走らせる
などどいうことは可能でしょうか?

たびたびすいませんが、よろしくお願いします。

[環境]
jdk1.4.2_02
tomcat4.1.27


さくらば
大ベテラン
会議室デビュー日: 2002/11/12
投稿数: 145
投稿日時: 2003-12-17 15:50
こんにちは、さくらばです。

うーん、難しいですね。

引用:

がっさんさんの書き込み (2003-12-16 14:36) より:
Tomcatと共にJVMPIのプログラムを走らせているのですがかなり重いです。
(スペック的には問題ないのですが、プロファイラをかけている分しかたないのですね)
ここで何か良い方法がないかとういうのが質問です。

例えば、tomcat起動時にはプロファイラはかけないで
サーブレットの呼び出しがあった時に動的にプロファイラと共に走らせる
などどいうことは可能でしょうか?



通常は JVMPI_EVENT_CLASS_LOAD だけを監視しておき、使用するサーブレットのクラスが
ロードされたら、その他のイベントもとるようにして、クラスがアンロードされたらイベント
の処理をやめるようにすればいいのではと思うのですが...

問題は、-Xrunxxxxx をつけた時点ですでにパフォーマンスが落ちてしまうことや、アンロー
ドはそれほどおきないので一度クラスがロードされたらずっと重くなってしまうことなどが
あると思います。

プロファイラでどのような処理を行っているのですか ?

# 私が期待しているのは J2SE 1.5 でコアに入る、"Monitoring and Management Specification
# for the JVM" です。軽いらしいです。
# http://jcp.org/en/jsr/detail?id=174
がっさん
常連さん
会議室デビュー日: 2003/10/03
投稿数: 24
投稿日時: 2003-12-18 13:32
ご返信ありがとうございます。

引用:

さくらばさんの書き込み (2003-12-17 15:50) より:

通常は JVMPI_EVENT_CLASS_LOAD だけを監視しておき、使用するサーブレットのクラスが
ロードされたら、その他のイベントもとるようにして、クラスがアンロードされたらイベント
の処理をやめるようにすればいいのではと思うのですが...

問題は、-Xrunxxxxx をつけた時点ですでにパフォーマンスが落ちてしまうことや、アンロー
ドはそれほどおきないので一度クラスがロードされたらずっと重くなってしまうことなどが
あると思います。



サーブレットのプログラムがロードされた時に、プロファイリングを始める
ということは可能なのですね。
簡単なJVMPIのプログラムで試してみようと思います。

引用:

プロファイラでどのような処理を行っているのですか ?



プロファイラ自体は、主にクラス、スレッド、メソッド(回数、時間、所属クラス)
などに関する処理を書いています。

引用:

# 私が期待しているのは J2SE 1.5 でコアに入る、"Monitoring and Management Specification
# for the JVM" です。軽いらしいです。



そうなのですか、楽しみですね^^
1

スキルアップ/キャリアアップ(JOB@IT)