MSMQ:从队列接收时,什么可能导致"资源不足以执行操作"错误?

Jon*_*len 29 msmq

MSMQ:从队列接收时,什么可能导致"资源不足以执行操作"错误?

当队列只保留2,000条消息时,每条消息的大小约为5KB.

Phi*_*lip 35

我有相同的错误消息,解决方案很简单.

在各种队列中有很多消息,并且已达到存储限制.我去了:

  • 服务器管理器 - >功能

  • 右键单击消息队列

  • 选定的属性

  • 在"常规"选项卡中,取消选中存储限制

我被告知使用MSMQ的服务将重新启动,然后错误就消失了.

  • 好的指示.虽然我仍然会设置一个限制...让它变得"尽可能大"会给你的硬盘充满风险.这可能反过来导致比msmq的"执行操作的无效资源"更严重的错误. (3认同)
  • 确实,虽然监控硬盘空间非常容易,但IT部门无需了解任何其他限制. (3认同)
  • 也可以通过“计算机管理”->“消息队列”,右键单击->“属性”来访问 (2认同)

Rag*_*ato 29

来自John Breakwell的博客有十一种可能性:

  1. 远程读取的线程池已用尽(仅限MSMQ 2.0).
  2. 超出了本地回调线程的数量
  3. 消息量已超过系统可以处理的内容(仅限MSMQ 2.0).
  4. 分页池内核耗尽.
  5. 不匹配的二进制文件.
  6. 邮件大小太大.
  7. 已超出机器配额.
  8. 打开事务外部队列时的路由问题(仅限MSMQ 3.0)
  9. 缺乏磁盘空间.
  10. 移动设备上的存储问题
  11. 聚集太多MSMQ资源
  12. 打开连接太多
  13. 计算机名称超过15个字符
  14. 死信队列中的消息太多

http://blogs.msdn.com/johnbreakwell/archive/2006/09/18/761035.aspx

我会检查队列的版本以及错误时打开的队列的连接数量(往返).任何"可能有"都会导致您的错误.


Hug*_*rte 17

我的传出队列中有太多失败的消息.检查系统队列 - >死信消息.我清除了这个队列,它再次正常工作.

  • 这也解决了我的问题,除了它是"交易死信队列" (8认同)