问题标签 [memory-leak-detector]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
394 浏览

java - 调整 GC Overhead Exceeded 参数

我需要我的 Oracle Hotspotjava.lang.OutOfMemoryError: GC overhead limit exceeded比使用UseGCOverheadLimit.

默认情况下,OOME 发生在超过 98% 的时间用于 GC 并且不到 2% 的堆被回收(描述http://www.oracle.com/technetwork/java/javase/gc-tuning-6 -140523.html#par_gc.oom )。

例如,当超过 20% 的时间用于 GC 时,我需要我的 JVM 抛出 OOME。不幸的是,这-XX:GCTimeRatio=nn似乎没有什么不同。

我需要以这种方式调整我的 JVM 的原因是我正在测试我的应用程序是否包含内存泄漏(准确地说,我有一个内存泄漏检测基础设施,我想每天测试我们的应用程序)并且我不不需要我的 JVM 尽可能努力地释放堆。

0 投票
3 回答
1904 浏览

c++ - INVALID HEAP ARGUMENT:用 operator new[] 分配,用 operator delete 释放

我正在使用 Dr. Memory 来调试我的代码。它给了我以下信息:

但是,每当我使用delete[]而不是delete,它都会给我同样的错误。错误发生在以下几行中:

变量data分配如下:

有人可以帮我吗?

0 投票
0 回答
254 浏览

objective-c - CGGradientRef - 对象的潜在泄漏

我从分析器收到以下代码的“对象可能泄漏”警告: 在此处输入图像描述

我要释放一些东西-(void)dealloc;吗?如何?

0 投票
2 回答
3194 浏览

c++ - 套接字上的内存泄漏

我正在编写一个 tcp 代理,虽然它似乎可以工作,但它留下了内存泄漏。我操纵代码将传入的数据包转发给自己以创建 10000 个套接字并关闭它们以查看泄漏的位置。但是我无法弄清楚。我使用了 deleaker,它没有显示任何泄漏(除了一个我不在乎的小泄漏。)http://i.imgur.com/7r6u4Jd.png

但后来我取消了这两个框,这出来了。 在此处输入图像描述

任何帮助,将不胜感激!

代码:

0 投票
1 回答
344 浏览

java - java - 如何在java中找到匿名类的GC根?

就在今天,我在我的应用程序中发现了内存泄漏,其中大量对象被创建为匿名类。这是一个经典的例子,每个对象都有自己的类定义并放入堆中。

在运行时内存分析器中查找并非易事,Eclipse 内存分析器完成的堆转储分析也没有帮助。

我想知道如何使用线程 ID(或至少是父类加载器)记录在运行时创建的所有匿名类。

我认为仅此一件事就会使寻找根本原因变得微不足道。

0 投票
1 回答
444 浏览

python - 为什么 objgraph 不能捕捉到 np.array() 的增长?

见代码:

结果是:

对于 2,3 和 4 时期,它没有显示任何增长。但它应该表明 numpy.array 的数量在增长

0 投票
1 回答
280 浏览

openmpi - Openmpi 和 vargrind

我只是使用 valgrind 来测试 openmpi-1.4/example 中提供的示例:

mpirun.openmpi --np 2 valgrind --log-file=output.dat --leak-check=full --tool=memcheck ./ring_c

然后我在 output.dat 中找到了以下内容:

==30450== 系统调用参数 writev(vector[...]) 指向未初始化的字节

==30450== 在 0x54DC150: __writev_nocancel (syscall-template.S:81)

==30450== 由 0x7E3B312:mca_oob_tcp_msg_send_handler(在 /usr/lib/openmpi/lib/openmpi/mca_oob_tcp.so 中)

==30450== 由 0x7E3C50A:mca_oob_tcp_peer_send(在 /usr/lib/openmpi/lib/openmpi/mca_oob_tcp.so 中)

==30450== 0x7E40266:mca_oob_tcp_send_nb(在 /usr/lib/openmpi/lib/openmpi/mca_oob_tcp.so 中)

==30450== 0x7C2FFB7:orte_rml_oob_send(在 /usr/lib/openmpi/lib/openmpi/mca_rml_oob.so 中)

==30450== 0x7C30637:orte_rml_oob_send_buffer(在 /usr/lib/openmpi/lib/openmpi/mca_rml_oob.so 中)

==30450== 由 0x824CBAE: ??? (在 /usr/lib/openmpi/lib/openmpi/mca_grpcomm_bad.so 中)

==30450== 通过 0x4E900FB:ompi_mpi_init(在 /usr/lib/openmpi/lib/libmpi.so.1.0.8 中)==30450== 通过 0x4EA8499:PMPI_Init(在 /usr/lib/openmpi/lib/libmpi.所以.1.0.8)

==30450== by 0x4009AD: main (ring_c.c:19)

==30450== 地址 0x65c0321 在大小为 256 的块内是 161 个字节,已分配

==30450== 在 0x4C2DEAE:realloc(在 /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so 中)

==30450== 0x4F1E619:opal_dss_buffer_extend(在 /usr/lib/openmpi/lib/libmpi.so.1.0.8 中)

==30450== 0x4F1E9D0:opal_dss_copy_payload(在 /usr/lib/openmpi/lib/libmpi.so.1.0.8 中)

==30450== 由 0x4EFA3DD:orte_grpcomm_base_pack_modex_entries(在 /usr/lib/openmpi/lib/libmpi.so.1.0.8 中)

==30450== 由 0x824CA8F: ??? (在 /usr/lib/openmpi/lib/openmpi/mca_grpcomm_bad.so 中)

==30450== 由 0x4E900FB:ompi_mpi_init(在 /usr/lib/openmpi/lib/libmpi.so.1.0.8 中)

==30450== 由 0x4EA8499:PMPI_Init(在 /usr/lib/openmpi/lib/libmpi.so.1.0.8 中)

==30450== by 0x4009AD: main (ring_c.c:19)

==30450== 堆摘要:

==30450== 退出时使用:1,482 个块中的 298,974 个字节

==30450== 总堆使用量:7,740 次分配,6,258 次释放,13,223,431 字节分配

…………

==30450== 泄漏摘要:

==30450== 肯定丢失:69 个块中的 51,132 个字节

==30450== 间接丢失:39 个块中的 14,378 个字节

==30450== 可能丢失:0 个块中的 0 个字节

==30450== 仍然可以访问:1,374 个块中的 233,464 个字节

==30450== 抑制:0 个块中的 0 个字节

==30450== 未显示可达块(找到指针的块)。

==30450== 要查看它们,请重新运行: --leak-check=full --show-leak-kinds=all

==30450==

==30450== 对于检测到和抑制的错误计数,重新运行:-v

==30450== 使用 --track-origins=yes 查看未初始化值的来源

==30450== 错误摘要:来自 63 个上下文的 63 个错误(抑制:0 来自 0)

它有基于内存检查结果的内存泄漏。既然例子是由openmpi-1.4开发者提供的,是不是说每一个使用openmpi-1.4作为库的程序都会遇到内存泄漏呢?弗雷德

0 投票
1 回答
549 浏览

c++ - 如何检测 tbbmalloc 中的内存泄漏

如您所知,TBBmalloc 不会将内存块返回给系统。我正在使用视觉泄漏检测器来检测我的项目中的内存泄漏。我想知道如何检测 TBBmalloc 中的内存泄漏。我想查看调用堆栈,当程序退出时,哪个泄漏的内存块,就像视觉泄漏检测器一样。

还有其他很棒的检测工具吗?,如何编写代码轻松检测内存泄漏?

0 投票
1 回答
253 浏览

android - Android 应用程序中的内存泄漏

我有一个看起来像这样的类结构。

在活动 Destroy() 中,我将设置变量 a = null。但是在堆上,我仍然可以看到变量 b 持有 B 的引用。

谁能解释一下?

0 投票
1 回答
705 浏览

android - 无法从 Leakcanary 的泄漏报告中检测到参考

下面是 FeedsAdapter 的代码

当用户喜欢或评论特定的提要时,我调用片段类方法来更新它并在应用程序中显示朋友的提要。当我显示个别朋友的提要时,这将造成泄漏任何关于如何解决这个问题的想法。