如何解决MSMQmqsvc.exe不会释放内存
| MSDN线程 大家好。 首先,请在下面的描述中原谅任何英语错误,因为我不是母语人士,而且我写得并不完美。 我正在尝试创建一个.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)。 服务执行没有例外,我可以关闭或处置的所有资源都将尽快关闭/处置。我的服务的内存分配是稳定的。 在所有情况下,都是相同的问题。怎么解决呢? 提前致谢。 文森特解决方法
在MSDN上解决的问题。
MSDN线程
, 以下修补程序解决了此问题:
当您在Windows 7或Windows Server 2008 R2中的消息队列5.0队列上执行远程事务读取时,消息队列服务会占用大量内存
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。