gpt4 book ai didi

java - 分析内存不足错误的堆转储

转载 作者:行者123 更新时间:2023-11-30 08:48:17 24 4
gpt4 key购买 nike

我正在尝试使用 OOME 的堆转储来分析问题,为此我使用了 MAT。我阅读了如何使用 MAT here .

这是一个部署在tomcat服务器上,使用spring和hibernate的web应用。当我看到转储的支配树时,我只能看到 hibernate 对象,这是否意味着内存泄漏是由于我的 hibernate 在内存中持有对象,或者我在这里遗漏了什么?

下面是支配树的截图。 enter image description here

最佳答案

从您上传的图片我们不能得出内存泄漏的结论,显示的对象是内存泄漏的原因。

基本上,如果一个对象没有被任何其他对象引用,它就会被 JVM 收集为垃圾。内存泄漏是指一个对象在逻辑上不再有用但由于内存中另一个对象不需要的引用而留在内存中的情况。

如果您正在尝试测试应用程序中的内存泄漏,您所要做的就是识别每次访问应用程序时在堆中累积的对象。有效地识别对象的先取和初始堆。然后在您的应用程序中执行一些操作。然后离开应用程序,以便 GC 发生,然后进行堆转储。该工具提供了一个选项来比较堆转储,这将识别从基本堆转储中急剧增加的对象。然后您可以深入对象以确定谁持有该对象的引用。

关于java - 分析内存不足错误的堆转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32045691/

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