- - PR -
Tomcatのスレッド数のモニタリング
1
| 投稿者 | 投稿内容 | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-04-23 10:41
Solaris+Tomcat4.1.12+j2sdk1.4.1_01を使ってますが、時々動作不安定なときがあります。
OSレベルで取得できるものは、モニタリングしています。 Tomcatでのスレッド数やメモリの状態をモニタリングしようとしているのですが、 やり方がわかりません。 IplanetやJrunなどの商用のものを使ってたときは、モニタリング機能がついてたのですが。 コマンドレベルでも、何でも良いのでスレッド数や使用しているメモリの値を取得する方法をご存知の方がいたら教えてください。 よろしくお願いします [ メッセージ編集済み 編集者: ひでぶ 編集日時 2003-04-23 10:42 ] | ||||||||||||
|
投稿日時: 2003-04-23 17:46
EclipseでプロファイルPlug-inがあります。
Tomcatに接続してスレッドやヒープの状態を監視できますよ。 ただ、少し使ってみた感じでは、かなり重くてもうひとつ実用的ではない気もしますが... http://eclipsecolorer.sourceforge.net/ | ||||||||||||
|
投稿日時: 2003-04-24 00:16
JVMPI (Java Virtual Machine Profile Interface) というのがあって、これを使うと
自分で Profiler が作れます。 JVMPI では JVM からプロファイルに関連するイベントがとれます。スレッド数やメ モリであれば、スレッドの開始・終了と GC の終了のイベントを使えばできます。 簡単なサンプルを添付しました。残念ながら JVMPI は Java では記述できず、C/C++ になります。これを実行するときには java -Xrunthrdmon [クラス名] とします。つまり -Xrun の後にライブラリ名を書くだけです。 Tomcat と一緒に実行するなら catalina.sh に記述します。 実行すると、実行した場所に threadmonitor.log というファイルを作成して、そこに GC とスレッドのログを記述します。本当であれば、ちゃんとしたログにする必要があ ると思いますが、サンプルということでご容赦ください。 一応 Makefile も添付しておきますが、Solaris の環境がないので試していません。 たぶん、大丈夫だと思いますが... Makefile の中の JDK_HOME はインストールした 場所に応じて書き換えてください。 # 私は Windows と Visual C++ で動作チェックをしました この程度だとそれほど重くならずに使えると思います。 くわしくは JVMPI のリファレンスをご覧ください。 http://java.sun.com/j2se/1.4/ja/docs/ja/guide/jvmpi/jvmpi.html また、私の Web で Profiler について講演した資料がありますので参考になさっ てください。 http://www5.airnet.ne.jp/sakuraba/java/publication/20030414-JIAE-Seminar/20030414JIAE-profiler.pdf thrdmon.cpp
UNIX 用の Makefile
Windows 用の Makefile
| ||||||||||||
1
