在我的Windows服务中,在巨大的工作负载下运行数小时后,我遭受了“内存不足”异常的困扰。 我用下面的性能计数器来检测内存泄漏:越来越多的“虚拟字节”性能计数器
字节的所有堆
- 专用字节
- 虚拟字节
第2个计数器会向上和向下定期...我看不出他们有什么不妥。 但第三个增长速度非常缓慢,柜台也在升降,但最终会逐渐增加。 这是什么意思?
我的Win服务是.NET,它从C++ DLL调用一些函数,也使用第三方,它有一些非托管代码。
这是否表明托管代码/非托管代码中存在内存泄漏?或者干脆这不会帮助?
感谢
没有足够的信息来回答问题。你在C#代码中分配内存吗?你可以发布代码吗? – 2010-02-02 14:40:49
C++ DLL不是我的代码,它们都是第三方,我在我的托管代码中分配和释放大量资源,我不能将它们全部发布,它们太多了,其中一些与GDI +,ADO有关。 NET和许多其他类型的对象。我也相信非托管代码经常这样做(由于其功能) – 2010-02-02 15:02:58