简体   繁体   English

MSMQ - 执行操作的资源不足

[英]MSMQ - Insufficient resources to perform operation

I've read https://stackoverflow.com/a/1732531/684646我已阅读https://stackoverflow.com/a/1732531/684646

I have the same issue...我有同样的问题...

And I've been striking possibilities taking into account that I know some facts:考虑到我知道一些事实,我一直在寻找可能性:

  • The queues are all empty队列都是空的
  • There are some GBytes left of free space on the msmq server msmq 服务器上还有一些 GBytes 可用空间
  • The messages have been working fine the past two years过去两年,这些消息一直运行良好
  • The messages are fixed in size, in less than 2Kb消息大小固定,小于 2Kb
  • I've tried already restarting the service and changing the storage limits, with no changes.我已经尝试过重新启动服务并更改存储限制,但没有任何更改。

So,所以,

From John Breakwell's Blog there are eleven possibilities:从 John Breakwell 的博客来看,有十一种可能性:

1. The thread pool for the remote read is exhausted (MSMQ 2.0 only). 1.用于远程读取的线程池已耗尽(仅限 MSMQ 2.0)。

There are no items in queue.队列中没有项目。 I'm not sure if that's enough info to strike this one.我不确定这是否有足够的信息来打击这个。

2. The number of local callback threads is exceeded 2. 超过本地回调线程数

Didn't understand how to check this.不明白如何检查这个。

3. The volume of messages has exceeded what the system can handle (MSMQ 2.0 only). 3.消息量超过了系统的处理能力(仅限MSMQ 2.0)。

No way, it's empty.没办法,是空的。 Unless this is talking about an overflow of Ids除非这是在谈论 Id 溢出

4. Paged-pool kernel memory is exhausted. 4. 分页池内核内存耗尽。

Not sure how to check this.不知道如何检查这个。 The document says something about using some command which I wasn't able to find. 该文档说明了有关使用某些我无法找到的命令的内容。

5. Mismatched binaries. 5.不匹配的二进制文件。

The product has been unchanged for years now.多年来,该产品一直没有改变。 (Unless microsoft sent an auto-update that screwed the binaries, which seems unlikely) (除非微软发送了一个自动更新来破坏二进制文件,这似乎不太可能)

6. The message size is too large. 6.消息大小过大。 Checked已检查

7. The machine quota has been exceeded. 7. 已超出机器配额。

On the document talks about Machine quotas (aka storage limits) If storage is this issue (too) it's checked, I'm a bit confused out here.文档上讨论了机器配额(又名存储限制)如果存储也是这个问题(也)它被检查了,我在这里有点困惑。

8. Routing problems when opening a transactional foreign queue (MSMQ 3.0 only) 8. 打开事务性外部队列时的路由问题(仅限 MSMQ 3.0)

It's local the usage of the Queue.队列的使用是本地的。 There's a local webservice called remotely, (impersonated locally) which inserts in the queue.有一个远程调用的本地 Web 服务(在本地模拟)插入队列。

9. Lack of disk space. 9.磁盘空间不足。 Checked已检查

10. Storage problems on mobile devices Not mobile, Windows Server 2008 10.移动设备上的存储问题 非移动设备,Windows Server 2008

11. Clustering too many MSMQ resources 11.集群过多的MSMQ资源

The document says to check SystemViewSize on the registry. 该文件说要检查注册表上的SystemViewSize How do I check SystemViewSize on the registry?如何检查注册表上的SystemViewSize

I was able to fix this problem by deleting all of the message files (.mq) found in the C:\\windows\\system32\\msmq\\storage directory.通过删除C:\\windows\\system32\\msmq\\storage目录中的所有消息文件 (.mq),我能够解决此问题。 I'm working in a development environment so I'm not worried about the loss of messages.我在开发环境中工作,所以我不担心消息丢失。 This might not be the best idea if you're in a production environment.如果您在生产环境中,这可能不是最好的主意。

Hope this helps someone.希望这可以帮助某人。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM