用完了Heap / Tenured空间

时间:2015-09-17 22:03:50

标签: java heap-memory

我遇到了问题并且使用了JVM。看起来我们有内存泄漏 我有以下VisualVM屏幕:
[1] http://imgur.com/gcMAUBs“堆” [2] http://imgur.com/1ET1JBn“终身”

我们当前将xms设置为-Xms512m -Xmx1024m
堆只会填充,java应用程序将冻结 有关我们如何解决/解决问题的建议?

2 个答案:

答案 0 :(得分:-1)

有很多方法可以检查分配的对象。但是根据我的经验,这总会让你陷入幻想问题,可能需要几天或几周。

我认为解决此问题的最佳方法通常是尝试禁用部分功能,并查看泄漏何时消失。就这么简单。

也许这听起来太低技术了,但我对这种调试方式有很好的经验。

如果你不能轻易地禁用某些功能,可以使用一种变体:改为调用该函数10x,看看内存泄漏是否会加速。

答案 1 :(得分:-1)

如果您使用大量内存并面临内存泄漏,我建议您检查 ArrayLists或HashMaps

他们可能是真正的罪魁祸首!