【发布时间】:2017-02-08 23:53:28
【问题描述】:
提取一个 heapdump 我意识到它有很多对象等待完成,其中大部分是来自 jdbc 连接等库的实例。
知道队列中的那些实例基本上是实现finalize() 的类,为什么它们根本没有最终确定?
几天前,我提出了这样一个实例的记忆。最初它有 1GB,新一代设置为 256 MB (-Xmx1g -XX:NewSize=256m -XX:MaxNewSize=256m)。随着我们添加了一些繁重的缓存功能,我们将分配给该实例的内存提高到 3 GB (-Xmx3G -XX:NewSize=512m -XX:MaxNewSize=512m)。从那一刻起,我们开始看到一些记忆。稍微调查了一下,我发现有很多 java.lang.ref.Finalizer 和等待终结的对象。
这怎么可能相互关联?它甚至可能相关吗?
【问题讨论】:
标签: java memory out-of-memory finalizer