jconsole

Test.java を次のように作成

public class Test {
  public static void main(String[] args) {
   for (int i=0 ; i<10000 ; i++) {
    try {
      Thread.sleep(1000);
      System.out.print(".");
    } catch (Exception e) {
    }
   }
  }
}

logging.properties を作成します。

handlers=java.util.logging.ConsoleHandler

java.util.logging.ConsoleHandler.level=FINEST
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter

javax.management.level=FINEST
javax.management.remote.level=FINER

runTest.sh を作成して、 chmod 755 runTest.sh としておく。SSLを使わず、認証も使用しないのでセキュリティ的に問題がある。動作確認のために使う程度にして、実際はSSLあり、認証ありの設定で使用するべき。方法はSunのドキュメントにある。

#!/bin/sh
java -Djava.util.logging.config.file=logging.properties
 -Dcom.sun.management.jmxremote.port=7080
 -Dcom.sun.management.jmxremote.ssl=false
 -Dcom.sun.management.jmxremote.authenticate=false $1

コンパイルして実行

javac Test.java
./runTest.sh Test

jconsoleを実行。LinuxではLANG=C をつけないと起動できない場合がある。

LANG=C jconsole

ローカルリソースでは、そのまま見ればいい。リモート経由でみたいときは、リモートとして localhost:7080 を指定。他のホストでjconsoleを起動した場合は hostname:7080 を指定。

同じカテゴリの記事: Java