【发布时间】:2018-10-19 19:45:51
【问题描述】:
我使用工具 Eclipse MAT Analyser 观察到 LEAK 支持有一个问题,如下所述,
One instance of "hudson.model.Hudson" loaded by "org.eclipse.jetty.webapp.WebAppClassLoader @ 0x3c0001f48" occupies 2,129,624,192 (95.23%) bytes.
The memory is accumulated in one instance of "hudson.model.Hudson" loaded by "org.eclipse.jetty.webapp.WebAppClassLoader @ 0x3c0001f48".
Keywords
org.eclipse.jetty.webapp.WebAppClassLoader @ 0x3c0001f48
hudson.model.Hudson
这是什么意思?这会是什么原因?
更多信息:
1) 该对象的浅层大小 = 312,保留大小 = 2000000000 我理解浅大小是指一个对象的大小,保留大小是 2GB,那么这是否意味着 6410256 个对象是活着的?
2)这是詹金斯,我正在尝试分析詹金斯的工作数量,那么我怎样才能确定这个对象在内存中不必要地引用(OR)有什么方法可以释放到这里了吗?
谢谢,
哈利
【问题讨论】:
-
hudson.model.Hudson类使用了大约 2Gb 的内存。由于我们对您的代码一无所知,因此无法告诉您原因。 -
@greg-449 我知道代码不存在,但是你能告诉我这是否意味着没有为此收集 GC?我需要知道这个错误在 MAT 中意味着什么
-
GC 无法收集
hudson.model.Hudson的实例,因为它在某处被引用。这两个问题是,它是否被不必要地引用了?一个实例真的需要那么多内存吗? -
@howlger 我提供了更多信息,请查看此
标签: java eclipse jenkins jenkins-plugins eclipse-memory-analyzer