Does enabling JMX agent have a performance overhead?
I would like to have a possibility t开发者_JAVA技巧o use jconsole in production, but am a bit concerned about performance. Is it ok to leave JMX agent running (via -Dcom.sun.management.jmxremote) or will it have a noticeable performance footprint?
In general running the JVM with JMX enabled does not incur in appreciable performance hits. The performance hit happens only when a tool like jconsole is connected and actually polling for information.
See the below link for more details:
- https://web.archive.org/web/20200820010106/https://community.oracle.com/blogs/emcmanus/2006/07/21/how-much-does-it-cost-monitor-app-jconsole
From Tuning Your GlassFish – Performance Tips :
General Tuning Tips
Unused features could have a negative impact on the performance and should be disabled:
Auto-deployment of applications
JMX Monitoring
JMS
Dynamic JSP reloading
JDBC Connection validation
Security Manager could be turned off if the applications are all trusted internal applications
Source: http://wiki.glassfish.java.net/attach/GlassFishDay2008Hyderabad/GlassFishDay2008PerfPreso.pdf (PDF document)
精彩评论