【发布时间】:2014-01-16 22:34:12
【问题描述】:
在少数情况下,我们的应用程序使用了大约 12 GB 的内存。 我们尝试使用 jmap 实用程序获取堆转储。由于应用程序使用了一些 GB 的内存,它会导致应用程序停止响应并导致生产出现问题。
在我们的案例中,堆使用量在 6 小时内突然从 2-3 GB 增加到 12 GB。为了找到内存使用趋势,我们尝试在重新启动应用程序后每隔一小时收集一次堆转储。但是如前所述,由于使用 jmap 导致应用程序挂起,我们需要重新启动它,我们无法获得内存使用的趋势。
有没有办法在不挂起应用程序的情况下获取堆转储,或者是否有除 jmap 之外的实用程序来收集堆转储。
对此的想法非常感谢,因为如果不了解内存使用趋势,则很难解决此问题。
注意:我们的应用程序在 CentOS 中运行。
谢谢, 阿伦
【问题讨论】:
标签: java memory heap-memory jmap