在某些情况下,我们的应用程序使用了大约12 GB的内存。我们尝试使用jmap实用程序获取堆转储。由于应用程序使用了一些GB的内存,它会导致应用程序停止响应并在生产中造成问题。
在我们的情况下,堆使用量突然从2-3 GB增加到12GB,需要在6小时内进行处理。为了找出内存使用趋势,我们尝试在重新启动应用程序后每隔一小时收集一次堆转储。但是,由于使用jmap会导致应用程序挂起,因此我们需要重启它,无法获取内存使用趋势。
是否有一种方法可以在不挂起应用程序的情况下获取堆转储,或者是否有其他工具可用于收集堆转储。
非常感谢您对此的建议,因为如果不能获取内存使用趋势,则很难修复此问题。
注意:我们的应用程序在CentOS上运行。
谢谢, Arun
在我们的情况下,堆使用量突然从2-3 GB增加到12GB,需要在6小时内进行处理。为了找出内存使用趋势,我们尝试在重新启动应用程序后每隔一小时收集一次堆转储。但是,由于使用jmap会导致应用程序挂起,因此我们需要重启它,无法获取内存使用趋势。
是否有一种方法可以在不挂起应用程序的情况下获取堆转储,或者是否有其他工具可用于收集堆转储。
非常感谢您对此的建议,因为如果不能获取内存使用趋势,则很难修复此问题。
注意:我们的应用程序在CentOS上运行。
谢谢, Arun