(MSMQ)mqsvc.exe不释放内存

时间:2011-06-14 12:44:33

标签: memory msmq msdtc distributed-transactions

MSDN Thread

大家好。

首先,请原谅以下说明中的任何英语错误,因为,我不是母语人士,我不能写得很完美。

我正在尝试创建一个.NET(4.0)服务,用于远程/事务/异步接收来自多个队列的可恢复消息。所以,首先,我在TransactionScope中使用BeginPeek方法然后使用Receive方法(它隐式使用MSDTC)。

问题是运行我的服务的主机(win7 / 2k8r2 sp1)的mqsvc.exe,它什么也没做(当然没有任何与消息的接收/托管有关,MSMQ是空的和干净的)。 mqsvc.exe内存分配增长,它永远不会释放任何内存。有关缓存清理间隔的所有MSMQ注册表项都具有较短的时间值(约1分钟)。

我尝试了几种选择:

  • 使用本地和远程MSDTC(远程显示主机消息)。
  • 使用COM库mqoa.dll而不是.NET来为MSMQ使用显式MSDTC事务。
  • 使用多台不同的机器(均为win7 / 2k8r2 sp1)。

执行我的服务时没有例外,我可以尽快关闭/处置我可以关闭/ /处置的所有资源。我服务的内存分配是稳定的。

在所有情况下,都是同样的问题。怎么解决?

提前致谢。

文森特。

2 个答案:

答案 0 :(得分:1)

MSDN上的问题已解决。

MSDN Thread

答案 1 :(得分:0)