【发布时间】:2011-02-20 11:05:08
【问题描述】:
我有一个通过 MSMQ 运行的 WCF 服务。随着时间的推移,内存逐渐增加,表明存在某种内存泄漏。我在本地运行该服务并使用 PerfMon 监视一些计数器。总 CLR 内存管理的堆字节保持相对恒定,而进程的私有字节随时间增加。这让我相信存在某种非托管内存泄漏。假设非托管内存泄漏是问题,我该如何解决这个问题?是否有任何工具可以用来提示我导致非托管内存泄漏的原因?此外,我所做的所有服务都是从事务队列读取并写入数据库,所有这些都是 DTC 事务的一部分(通过要求服务合同上的事务在后台处理)。我没有明确地使用 COM 或 DllImports 做任何事情。
提前致谢!
【问题讨论】:
标签: c# sql-server wcf memory-leaks msmq