VisualVM在生产?

Ole*_*eev 8 java profiling jvm visualvm

我考虑针对生产JVM 运行VisualVM以查看其中发生了什么 - 由于某种原因它开始消耗太多CPU.

它不能导致JVM失败,所以我试图估计所有的风险.

我在他们的网站上看到的唯一可能导致JVM失效的问题与类共享和-XshareJVM选项有关,但是在服务器模式和/或x64系统上没有启用afaik类共享.

因此,对生产JVM运行VisualVM是非常安全的,如果不是这样 - 应该考虑的风险是什么,以及运行VisualVM对JVM(以及使用它进行分析)运行的负载(CPU /内存)有多少?

谢谢

Pet*_*rey 7

AFAIK VisualVM可以在生产中使用,但我只会在轻载的服务器上使用它.你可以做的是等待服务放慢速度,之后当它没有用尽那么多的时候测试一下它是否有些惊人的大.或者您可以触发堆转储并离线分析它.

并且您无法在没有大量开销的情况下获取方法调用的统计信息.Java 6和7比java 5更好,但它仍然可以使你的应用程序减慢30%甚至是商业分析器.