
有没有人遇到过.net 非托管内存泄漏问题,想探讨一下。
1 skinny May 11, 2020 要么是你自己的问题,要么是你用的库的问题,善用 IDisposable 接口和 using |
2 Soar360 May 11, 2020 有一个工具叫 dotMemory,不会 sos 的话可以尝试下。 |
3 wanguorui123 May 11, 2020 没手动释放? |
4 jiumingzhu May 11, 2020 莫非用了别人的 dll,然后那个人没有释放? |
5 yulitian888 May 11, 2020 非托管内存,泄露? 我遇到过一个情况刚刚好相反,非托管也会被 GC 胡乱回收,链接: t/575061 非托管泄露我遇到过一次,是很多来年前做 WPF 的时候。因为 WPF 调用了 Dx9 的 COM 资源,老大难问题,无解。直到等了 N 年之后微软才给修复。 |
7 laball OP @jiumingzhu 使用了 OpenPop,Lumisoft.Net 这两个库,都是以源代码形式,有做部分修改,主要功能是收取邮箱中的邮件; |
8 Soar360 May 13, 2020 via Android |
9 forgottencoast May 14, 2020 @laball 用工具可以查看内存中存在的大对象,或者你也可以先用性能计数器看看统计数据。 |
10 laball OP @forgottencoast 已经用 WinDBG 看过了,托管内存 1G 左右,非托管内存 7G+,着实是非托管内存泄漏; |