我已阅读 https://stackoverflow.com/a/1732531/684646
我也有同样的问题...
考虑到我知道一些事实,我一直在寻找可能性:
- 队列都是空的
- msmq 服务器上还剩一些 GByte 的可用空间
- 过去两年这些消息一直运行良好
- 消息大小固定,小于 2Kb
- 我已经尝试过重新启动服务并更改存储限制,但没有进行任何更改。
所以,
From John Breakwell's Blog there are eleven possibilities:
<强>1。 远程读取的线程池已耗尽(MSMQ 2.0
仅)。
队列中没有项目。 我不确定这些信息是否足以解决这个问题。
<强>2。本地回调线程数超出
不明白如何检查这一点。
<强>3。 消息量已超出系统可以处理的范围(MSMQ 2.0
仅有的)。
不可能,它是空的。 除非这是关于 ID 溢出
<强>4。分页池内核内存已耗尽。
不知道如何检查这一点。 The document说了一些关于使用一些我找不到的命令的内容。
<强>5。 二进制文件不匹配。
该产品多年来一直没有变化。 (除非微软发送了一个自动更新来破坏二进制文件,这似乎不太可能)
<强>6。 消息大小太大。 已检查
<强>7。已超出机器配额。
关于the document谈论机器配额(又名存储限制)如果存储也是这个问题(也),它会被检查,我在这里有点困惑。
<强>8。打开事务性外部队列 (MSMQ 仅3.0)
队列的使用是本地的。有一个远程调用的本地 Web 服务(在本地模拟),它会插入队列中。
<强>9。 磁盘空间不足。 已检查
10。 移动设备上的存储问题非移动设备,Windows Server 2008
11。集群过多的 MSMQ 资源
The document说要检查注册表上的SystemViewSize
。如何检查注册表中的 SystemViewSize
?
最佳答案
我能够通过删除 C:\windows\system32\msmq\storage
中找到的所有消息文件 (.mq) 来解决此问题。目录。我在开发环境中工作,所以我不担心消息丢失。如果您处于生产环境中,这可能不是最好的主意。
希望这对某人有帮助。
关于localhost - MSMQ - 资源不足,无法执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26105817/