jmap在Java 7下表现较慢,会减缓JVM的运行速度。

4
我们已经使用jmap约2年来测量在Java 6下运行的大型多服务器应用程序的堆大小。我们每分钟进行一次测量,每次测量所花费的时间都不到1秒。
现在我们正在测试在Java 7下运行相同的应用程序。现在突然间,jmap经常需要花费10秒、20秒,有时甚至更长时间,并且似乎在这段时间内减慢(或甚至停止!)JVM的速度。
我们在jmap输出中(Java 6和Java 7之间)唯一看到的区别是关于有多少个字符串被intern的额外信息。(而且似乎这就是较慢的部分。)
有人知道发生了什么,或者jmap或Java 7发生了什么变化可能会导致这种情况吗?
我们正在使用“jstat -gc”来获取相同的信息,目前看来它要快得多,并且似乎不会引起我们在jmap中看到的应用程序减速。还有其他快速测量堆大小的建议吗?
欢迎任何想法,提前感谢。

1
可能相关的问题在https://dev59.com/o2Ei5IYBdhLWcg3w6f2e?rq=1和https://dev59.com/O2435IYBdhLWcg3wqB8x?rq=1。 - Charles Roth
1个回答

0

我个人非常喜欢使用Oracle Mission Control来监控堆大小。它有很多其他选项,但是它可以完美地监控堆大小。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接