如何从JVisualVM获取峰值内存使用情况快照?

时间:2010-03-12 13:12:00

标签: java profiling jvisualvm

我需要在应用程序的内存使用高峰时使用内存快照 - 是否有一种简单的方法可以实现此目的?

感谢

3 个答案:

答案 0 :(得分:0)

呃?除非您能够在出现峰值时定量说出,否则您希望如何实现?如果每个时间点都可能是您要保存的状态,并且无法提前知道,则必须为所有点保存完整的快照。听起来很难。

答案 1 :(得分:0)

JVisualVM的替代方法是获取native_stderr.log并在IBM's Pattern Modeling and Analysis Tool for Java Garbage中打开它。您将能够快速查看应用程序使用堆空间的最高点。

答案 2 :(得分:0)

使用VisualVM / JConsole监视应用程序。当你看到峰值做堆转储时。

另一种方法是(如果你不想监视)将Xmx减少到你知道的东西,确保它会抛出内存异常。并激活标志-XX:+ HeapDumpOnOutOfMemoryError