MSMQ: что может привести к ошибке "Недостаточно ресурсов для выполнения операции" при получении из очереди?
MSMQ: что может вызвать ошибку "Недостаточно ресурсов для выполнения операции" при получении из очереди?
В то время, когда очередь содержала только 2000 сообщений с каждым сообщением размером около 5 КБ.
Ответы
Ответ 1
В блоге Джона Брейквелла есть одиннадцать возможностей:
- Пул потоков для удаленного чтения исчерпан (только MSMQ 2.0).
- Превышено количество локальных обратных вызовов.
- Объем сообщений превысил то, что может обработать система (только MSMQ 2.0).
- Память ядра в выгружаемом пуле исчерпана.
- Несоответствующие двоичные файлы.
- Размер сообщения слишком велик.
- Квота машины была превышена.
- Проблемы с маршрутизацией при открытии транзакционной внешней очереди (только MSMQ 3.0)
- Недостаток дискового пространства.
- Проблемы с хранением на мобильных устройствах
- Кластеризация слишком большого количества ресурсов MSMQ
- Слишком много открытых соединений
- Имя компьютера было длиннее 15 символов
- Слишком много сообщений в очереди недоставленных писем
http://blogs.msdn.com/johnbreakwell/archive/2006/09/18/761035.aspx
Я бы проверил версию вашей очереди и количество соединений (с и к) вашей очереди, открытых на момент ошибки. Любой из этих "мог" вызвать вашу ошибку.
Ответ 2
У меня было такое же сообщение об ошибке, и решение было простым.
В разных очередях было много сообщений, и были достигнуты ограничения на хранение. Я пошел к:
-
Диспетчер серверов → Функции
-
Щелкните правой кнопкой мыши на очереди сообщений
-
Выбранные свойства
-
На вкладке Общие не отмечены ограничения на хранение
Мне сообщили, что службы с MSMQ будут перезапущены, а затем ошибка исчезнет.
Ответ 3
В моей исходящей очереди было слишком много сообщений об ошибках.
Проверьте системные очереди → Мертвые письма. Я очистил эту очередь, и она снова работала нормально.
Ответ 4
Я столкнулся с той же ошибкой, после проверки вышеупомянутых вещей оказалось, что именно имя компьютера вызывало проблему! Это было длиннее 15 символов, после того как я сменил его на более короткий, проблема исчезла.
Ответ 5
Если ведение журнала включено, вы будете хранить копии всех сообщений, удаленных из очереди, поэтому, возможно, вы также достигнете предела журнала MSMQ. Краткосрочное исправление может заключаться в очистке журналов для очереди, в более длительном - отключение журналирования.