如何在Netbeans 11'中将评测模式切换到内存模式;谁是剖析器?

如何在Netbeans 11'中将评测模式切换到内存模式;谁是剖析器?,netbeans,memory-leaks,heap-profiling,Netbeans,Memory Leaks,Heap Profiling,我想在一台带有开放JDK 11的Linux 64位机器(32 GB RAM,8个虚拟CPU)上运行Netbeans 11。我想评测一个应用程序(它是SOLR的索引器),因为在产品上运行了很长一段时间后,我出现了内存不足的错误,并且我看到使用的内存(由操作系统报告)不断增加,从不减少。它从8GB开始,几天后(有时是几周),达到30GB并抛出OOM(Java堆空间) 我无法在我的开发机器(16GB的RAM,4个CPU)上复制这个OOM,所以我决定使用Netbeans profiler,看看是否能找到

我想在一台带有开放JDK 11的Linux 64位机器(32 GB RAM,8个虚拟CPU)上运行Netbeans 11。我想评测一个应用程序(它是SOLR的索引器),因为在产品上运行了很长一段时间后,我出现了内存不足的错误,并且我看到使用的内存(由操作系统报告)不断增加,从不减少。它从8GB开始,几天后(有时是几周),达到30GB并抛出OOM(Java堆空间)

我无法在我的开发机器(16GB的RAM,4个CPU)上复制这个OOM,所以我决定使用Netbeans profiler,看看是否能找到一些线索,说明是什么导致了RAM消耗量随时间的增加

我开始关注并在2个索引过程之后看到了以下内容(实际上,在生产服务器上,索引过程将彼此无限成功,但有些索引过程可能会持续几天或几周):

所以我猜我的应用程序中有内存泄漏。到现在为止,一直都还不错。但在上面提到的Netbeans文章中,它们告诉您“将分析模式切换到内存模式”(在“发现源代码”一章中)。但我找不到切换到内存的地方。这就是我的GUI的外观:

如果我点击“profileobjects”,那么我会看到一些与文章中显示的内容相近的内容,但只有“livebytes”和“liveobjects”。因此,没有提及显示的“代”,右上角的小箭头也没有提供选择(只有“名称”、“活动字节”、“活动对象”)

因此,我是否在正确的位置,如果是这样,我如何获得其他列(“Avg Age”、“Generations”和…),然后如何转到导致源代码内存泄漏的部分?或者,也许有人可以建议另一篇更详细的(针对新手)文章/教程,介绍如何分析应用程序以发现内存泄漏

非常感谢任何帮助:-)

因此,要获得“幸存世代指标”在其中的显示,您必须选择“对象”,然后在“配置文件”中选择一个“聚焦(检测)”选项,并选中“仅跟踪活动对象”,如中所述

因此,要获得“幸存世代指标”在其中的显示,您必须选择“对象”,然后在“配置文件”中选择一个“聚焦(检测)”选项,并选中“仅跟踪活动对象”,如中所述