我一直在用javaagent分析我的java应用程序。但是我发现JDK7加强了对堆栈映射帧的检查,当字节码被不知道这些更改的工具修改时,可能会导致VerifyError异常。我们可以使用-XX:-UseSplitVerifier“开关将验证器改回JDK6版本。但是我发现没有javaagent的java应用程序的执行时间比由javaagent运行的相同java应用程序的执行时间要短。有没有其他方法来分析? JVMTI提供了一个更好的选择,但我不太擅长原生(c,c++)语言。
发布于 2013-03-14 16:52:08
您可以尝试使用包含在oracle jdk中的jvisualvm。
(如果您使用的是JDK版本6,请更新7或更高版本)
,但我发现没有使用javaagent的java应用程序的执行时间比由javaagent运行的相同java应用程序的执行时间要短。
任何分析器都会有一定的开销(如果它在做一些事情,它必须使用cpu和一些内存本身)
发布于 2013-03-14 16:37:38
JProfiler可以很好地与Java7协同工作。
https://stackoverflow.com/questions/15404337
复制相似问题