JVisualVM(Windows XP、Sun Java 1.6.0.13、32ビットクライアントVM)を実行して、離れたアプリケーション(Linux、Sun Java 1.6.0.07、64ビットサーバーVM)を監視します。実際のリモートアプリケーションを起動する前にjstatd
、オールアクセスポリシーを使用してリモートマシンで起動します。
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
次に、コマンドラインを使用して実際のアプリを起動します
java -Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.port=3333
compileTest.Main
クライアントマシンから、遠くのアプリを見て監視することができます。スレッドダンプなども作成できます。残念ながら、ヒープダンプボタンはグレー表示になっています。
JVisualVMを使用してリモートで監視されているアプリケーションからヒープダンプを取得するにはどうすればよいですか?
jConsoleを使ってみました。jConsoleを使用すると、com.sun.management.HotSpotDiagnosticdumpHeap操作を使用して遠隔ヒープダンプを作成できます。ダンプをクライアント側に転送し、JVisualVMが提供するツールを使用して分析したいと思います。これどうやってするの?