gpt4 book ai didi

java - 如何通过查看 visualVM 中的内存分析器结果来查找罪魁祸首类/对象

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:25:06 49 4
gpt4 key购买 nike

我正在使用 VisualVM 分析我的 Java 应用程序我已经经历了

profiling_with_visualvm_part_1

profiling_with_visualvm_part_2

当我看到内存配置文件结果时,我看到数百万个 Objects[]Char[]String 和其他此类基本对象已创建这占用了所有内存。 我想知道我的哪些类(或我的代码)实际上负责创建那些 Objects[]String 等,到目前为止我找不到它。一旦我知道了罪魁祸首类,我就可以深入研究代码并修复它。

我放了一个过滤器 com.mypackage.*,但我发现它们比 Objects[] 的总大小小很多倍(有时是 0byte) ,Char[], String 对象。

我相信,应该有办法找到罪魁祸首的代码。否则,分析器将没有多大用处。

如果我的问题不清楚,请告诉我,我会尝试进一步澄清。

最佳答案

如果您想查看哪些代码分配了这些实例,请转到“内存设置”并启用“记录分配堆栈跟踪”。解释了“记录分配堆栈跟踪”选项 'Profiling with VisualVM part 2' .打开它后,分析您的应用程序,拍摄分析结果的快照。在快照中右键单击特定类并调用“显示分配堆栈跟踪”。

关于java - 如何通过查看 visualVM 中的内存分析器结果来查找罪魁祸首类/对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18704091/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com