首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >堆与托管堆

堆与托管堆
EN

Stack Overflow用户
提问于 2010-11-17 22:26:44
回答 2查看 2.8K关注 0票数 3

我有一个大型的.NET应用程序,目前的私有工作集大小为865 of。

所以我运行了VMMap,看到堆大约是587 So,托管堆只有255 So(也是私有工作集)。

让所有这些非托管代码使用如此多的内存(我认为.net运行时正在使用)是正常的吗?

注意事项:我使用了带有SOS扩展的WinDbg。问题不是托管堆中的内存消耗,而是“非托管”堆。

VMMap的截图:http://img687.imageshack.us/img687/1529/vmmap.png

更多信息:总大小:1487 WS注册:1359 WS私有:931 WS总计WS: 967 WS私人WS: 865 WS免费(大小):609 WS

提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2010-11-17 22:30:46

是!如果未正确释放非托管对象,甚至会导致更多内存泄漏。我曾经发现obcconnection对象占用了大量RAM (它试图打开/关闭循环中的连接)。如此之多,以致于该应用程序最终将失去记忆和崩溃。

您正在处理哪些非托管对象?

票数 0
EN

Stack Overflow用户

发布于 2010-11-17 22:34:27

使用CLRProfiler (http://www.microsoft.com/downloads/en/details.aspx?FamilyID=a362781c-3870-43be-8926-862b40aa0cd0&DisplayLang=en)查看堆上有哪些对象。

注意:.NET 2.0版本也适用于.NET 4.0。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4209811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档