我需要在应用程序的内存使用高峰时使用内存快照 - 是否有一种简单的方法可以实现此目的?
感谢
答案 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