2012年1月9日月曜日

Windowsで動くTomcatにjvmstatしかけたいとき

Windows上で動くTomcatにjvmstatをしかけたいときちょっと困ることがある。
TomcatプロセスはSYSTEMユーザが起動しているのだが、jvmstatのjavaプロセスはログインユーザのユーザで実行されているので、他ユーザで実行されているjava仮想マシンを捕捉できないのだ。

このスクリーンショットのようにTomcatのPIDは3292とわかっているので
jvmstat -gc 3292 1000
とかコマンドプロンプトで実行すればいいのだけれど前述の理由でそんなプロセスは無えよと怒られる。


jvmstatを動作させるjava仮想マシンをSYSTEMユーザで実行させればいいのだがどうやるか。ここで僕は atコマンドを使った。
指定した時間にジョブを実行するatコマンドでは実行プロセスがSYSTEMユーザになる。

↓こんな感じ。

0 件のコメント: