是否启用JConsole远程监控会影响生产中的系统性能?

chi*_*nto 8 java jvm jconsole

只要你不在生产盒上本地运行,Oracle/Sun就说它很好吗? http://download.oracle.com/javase/1.5.0/docs/guide/management/jconsole.html

注意:使用jconsole监视本地应用程序对于开发和原型设计很有用,但不建议用于生产环境,因为jconsole本身会占用大量系统资源.建议使用远程监视将jconsole应用程序与受监视的平台隔离.

您是否曾在生产环境中启用它并且遇到任何性能影响?

Moe*_*tar 6

虽然在生产环境中强烈建议不要这样做,但通过以下选项启用没有身份验证或加密的远程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客户端,这不是免费的),以及操作你远程调用.

您可以从以下博客文章中阅读更多统计信息: