只要你不在生产盒上本地运行,Oracle/Sun就说它很好吗? http://download.oracle.com/javase/1.5.0/docs/guide/management/jconsole.html
注意:使用jconsole监视本地应用程序对于开发和原型设计很有用,但不建议用于生产环境,因为jconsole本身会占用大量系统资源.建议使用远程监视将jconsole应用程序与受监视的平台隔离.
您是否曾在生产环境中启用它并且遇到任何性能影响?
虽然在生产环境中强烈建议不要这样做,但通过以下选项启用没有身份验证或加密的远程jmx几乎没有性能影响:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.remote.ssl=false
Run Code Online (Sandbox Code Playgroud)
如果启用SSL并强制执行身份验证,则会有更多性能成本:
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.remote.ssl=true
-Dcom.sun.management.jmxremote.password.file=jmxremote.password
Run Code Online (Sandbox Code Playgroud)
以上两种方案只会在生产JVM中启动mbean服务器和RMI连接器服务器.远程连接到这个JVM会更昂贵,但这一切都取决于你观看的视图(例如,GC视图需要收集所有数据并将其传输回jConsole客户端,这不是免费的),以及操作你远程调用.
您可以从以下博客文章中阅读更多统计信息: