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