Event ID 2182 — Message Queuing Resources

Applies To: Windows Server 2008 R2

One of the primary functions of Message Queuing is to facilitate asynchronous messaging. Therefore, Message Queuing resources provide storage for messages until the appropriate applications or clients can receive the messages. Because Message Queuing is not designed to be used as a database or as long-term RAM, if too many messages accumulate in individual queues in Message Queuing, the volume of messages may have an adverse effect on system performance.

Event Details

Product: Windows Operating System
ID: 2182
Source: MSMQ
Version: 6.1
Symbolic Name: QUEUE_STORAGE_QUOTA_EXCEEDED
Message: Storage quota exceeded for MSMQ queue %1. No more messages can be stored in the queue. This event is logged at most once per %2 seconds. To change this setting, set \HKLM\Software\Microsoft\MSMQ\Parameters\Event2182 registry value to desired time in seconds.

Resolve

Reduce the outstanding message count

A Message Queuing queue quota has been reached. To resolve this issue:

  1. Process existing messages in the queue to reduce the outstanding message count below the queue quota threshold. Confirm that messages are being processed at a higher rate than they are being queued. This may require additional hardware or changes to solution architecture.
  2. You may also increase the specific queue quota. For more information about Message Queuing queue quotas, see article 899612 in the Microsoft Knowledge Base (https://go.microsoft.com/fwlink/?LinkID=107359).

To avoid this problem in the future, the sending application should request negative acknowledgements (NACK) from the computer to which it is sending messages. If a NACK is returned to the sending application and it indicates that the quota for the destination queue or computer has been reached, the sending application can either stop sending messages or offload the messages to another destination. Nacks and Acks are requested programmatically by the sender. For more information, see Reliable Messaging with MSMQ and .NET (https://go.microsoft.com/fwlink/?LinkID=95381).

You can use the perfmon command-line tool to monitor various data points related to the incoming and outgoing messages in Message Queuing.

To perform this procedure, you must have membership in Administrators, or you must have been delegated the appropriate authority.

To use perfmon to monitor data:

  1. Open a command prompt. To open a command prompt, click Start. In the search box, type cmd, and then press ENTER.
  2. At the command prompt, type Perfmon, and then press ENTER.
  3. In the console tree, under Monitoring Tools, click Performance Monitor.
  4. In the details pane, click the green plus sign (+) to add a monitor.
  5. On the Add counters tab, under Counters, click the plus sign (+) next to MSMQ Service.
  6. Select the appropriate counters that you need.
  7. Click Add, and then click OK.

Verify

Verify that the MSMQ Service is installed and running.

To perform this procedure, you must have membership in Administrators, or you must have been delegated the appropriate authority.

To confirm that the MSMQ service is installed and running:

  1. Open the Services snap-in. To open Services, click Start. In the search box, type services.msc, and then press ENTER.
  2. Locate the Message Queuing service, and then confirm that the value in the Status column is Started.

Message Queuing Resources

Message Queuing