原文地址:http://www.51testing.com/html/87/395287-237033.html html
在測試服務端程序時,有時候須要經過JDK自帶的工具Jconsole查看遠程JVM及服務程序的狀態。java
最近在鏈接某臺服務器查看某個服務的狀態時,本機JDK環境jdk1.6.0_20,服務器系統爲Linux。在Jconsole遠程鏈接輸入服務端的IP及jmxremote配置的JMX_PORT。可是肯定後,鏈接失敗。經過Baidu找到,緣由是由於:服務器
服務器端解釋機器名的問題,若是服務器端hostname -i被定向到127.0.0.1則會出現鏈接失敗的問題。修改/etc/hosts文件,使hostname -i指向正確的IP,JConsole終於能夠正常鏈接。oracle
經過Root登錄遠程服務器,修改/etc/hosts中,將127.0.0.1改成該服務器對應的IP,再在Jconsole輸入IP:MX_PORT。成功登錄遠程服務端ide
該Bug具體描述:http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6209663 工具
注:以上方法僅針對所描述狀況測試
====ui
該問題已經補充在《Frequently Asked Questions: JConsole and Remote Management》的第5點I am having problem using JConsole to connect to a JVM running on Linux. Connecting to JVM running on Windows and Solaris works fine.htm
http://docs.oracle.com/javase/1.5.0/docs/guide/management/faq.html blog