Memory leaks ResourceManager内存泄漏?
我们得到了两个相同版本的CDH集群(CDH-5.5.2-1.cdh5.5.2.p0.4),每个集群的ResourceManager都具有相同的配置 其中一个ResourceManager运行良好,随着时间的推移,其堆内存保持在常量(例如800mb) 但另一个将抛出OOM异常,并在15天后退出。当我们使用“jmap-F-histo”转储其jvm堆信息时,我们看到对象“char[]”的大小随着时间的推移而增大,最后抛出OOM 以下是良好RM和OOM RM的jvm转储结果的关键信息: dump cmd:jmap-F-histo pid A) 集群A中良好RM的jvm转储 [我们看到40w+char[]个实例具有60m+堆mem][1] B) 集群B中bak RM(OOM)的jvm转储 [我们看到30w+char[]实例,但有400m+堆mem][2] 任何帮助都将不胜感激Memory leaks ResourceManager内存泄漏?,memory-leaks,resourcemanager,Memory Leaks,Resourcemanager,我们得到了两个相同版本的CDH集群(CDH-5.5.2-1.cdh5.5.2.p0.4),每个集群的ResourceManager都具有相同的配置 其中一个ResourceManager运行良好,随着时间的推移,其堆内存保持在常量(例如800mb) 但另一个将抛出OOM异常,并在15天后退出。当我们使用“jmap-F-histo”转储其jvm堆信息时,我们看到对象“char[]”的大小随着时间的推移而增大,最后抛出OOM 以下是良好RM和OOM RM的jvm转储结果的关键信息: dump cmd
我们今天转储(jmap-F-dump:file=file.dump_result pid)堆信息,并使用MAT(内存分析器工具)分析转储文件,我们发现实例变量应用程序(java.util.concurrent.ConcurrentHashMap)在org.apache.hadoop.warn.server.resourcemanager.RMActiveServiceContext中会占用大量内存: