jconsole
javaアプリケーションのメモリエラーに悩まされていたので
リソースチェックや監視ツールを調べていてjconsoleという監視ツールがあるのを知りました。
これは、j2SE5.0からデフォルトで付属するようになったJMX準拠の監視ツールです。
javaアプリケーションのパフォーマンス、リソース状況を監視することができます。
ローカルやリモートで動作しているjavaアプリケーションのメモリ等のリソースやパフォーマンスのチェックができます。
リモートで使ってみました。
% java -Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false -jar XXXX.jar
ポート番号の指定は、使用されていないものを指定すればOKです。
デフォルトでSSLとパスワード認証が有効になっているので無効にします。
これで、javaアプリケーションを起動してから、監視する側のPCで
$ jconsole [ip:port]
で動作するはずだったのですが、接続できませんでした。
調べてみると、Linuxで動作するjavaアプリケーションをjconsoleからリモートで監視する場合は
localhost -i で 127.0.0.1 が表示されていると jconsole は接続できないようです。
ホスト名がホストアドレスに解決されるように /etc/hosts を編集してやらないとダメでした。
参考
Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle
Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle
「Java SE 6完全攻略」第3回 jconsoleの機能向上 | 日経 xTECH(クロステック)
Oracle Technology Network for Java Developers | Oracle Technology Network | Oracle