How to increase the kernel memory threshold (811308)



The information in this article applies to:

  • Microsoft Message Queuing 2.0

IMPORTANT: This article contains information about modifying the registry. Before you modify the registry, make sure to back it up and make sure that you understand how to restore the registry if a problem occurs. For information about how to back up, restore, and edit the registry, click the following article number to view the article in the Microsoft Knowledge Base:

256986 Description of the Microsoft Windows Registry

SYMPTOMS

If you send or receive Microsoft Message Queuing messages, you may receive the following error:
0xc00e0027 (MQ_ERROR_INSUFFICIENT_RESOURCES)
For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

810507 MSMQ: Error 0xc00e0027 When You Send or Receive a Microsoft Message

CAUSE

Message Queuing stops allocating kernel memory when the kernel memory consumption exceeds 80 percent of the total available. You can send and receive messages again when the kernel memory consumption reaches less than 80 percent of the threshold.

RESOLUTION

Service Pack Information

To resolve this problem, obtain the latest service pack for Microsoft Windows 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:

260910 How to Obtain the Latest Windows 2000 Service Pack

Hotfix Information

A supported fix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Apply it only to computers that are experiencing this specific problem. This fix may receive additional testing. Therefore, if you are not severely affected by this problem, Microsoft recommends that you wait for the next Windows 2000 service pack that contains this hotfix.

To resolve this problem immediately, contact Microsoft Product Support Services to obtain the fix. For a complete list of Microsoft Product Support Services phone numbers and information about support costs, visit the following Microsoft Web site:NOTE: In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The typical support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time tool in Control Panel.

   Date         Time   Version            Size    File name
   --------------------------------------------------------------
   17-Dec-2002  16:51  5.0.0.759         280,336  Mq1repl.dll
   21-Oct-2002  18:38  5.0.0.759          14,096  Mq1sync.exe
   17-Dec-2002  16:49  5.0.0.764          75,408  Mqac.sys
   17-Dec-2002  16:51  5.0.0.760         217,360  Mqads.dll
   29-Oct-2002  16:50  5.0.0.761          25,360  Mqbkup.exe
   17-Dec-2002  16:52  5.0.0.750          76,560  Mqdscli.dll
   17-Dec-2002  16:52  5.0.0.735          41,744  Mqdssrv.dll
   21-Oct-2002  18:38  5.0.0.759          98,064  Mqmig.exe
   17-Dec-2002  16:51  5.0.0.759         265,488  Mqmigrat.dll
   17-Dec-2002  16:51  5.0.0.740         222,480  Mqoa.dll
   17-Dec-2002  16:52  5.0.0.762           8,464  Mqperf.dll
   17-Dec-2002  16:52  5.0.0.764         424,720  Mqqm.dll
   17-Dec-2002  16:51  5.0.0.756         102,672  Mqrt.dll         
   17-Dec-2002  16:51  5.0.0.759          70,928  Mqsec.dll
   17-Dec-2002  16:51  5.0.0.762          23,824  Mqupgrd.dll      
   17-Dec-2002  16:51  5.0.0.763         110,352  Mqutil.dll
   17-Dec-2002  16:51  5.0.0.748          64,784  Msmq.cpl

				

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Microsoft Windows 2000 Service Pack 4.

MORE INFORMATION

WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may require you to reinstall your operating system. Microsoft cannot guarantee that you can solve problems that result from using Registry Editor incorrectly. Use Registry Editor at your own risk. This hotfix lets you raise or lower the kernel memory threshold in Message Queuing.

In certain circumstances, you may want to raise the threshold because an application, a driver, or a system component is consuming kernel memory. Garbage collection is done by the kernel only when the paged pool memory consumption reaches 90 percent. However, Message Queuing stops functioning at 80 percent of paged pool memory consumption. If you set the kernel memory threshold above 90 percent, this makes sure that Message Queuing does not go into "low memory mode" unil the Windows Memory Manager starts cleanup

In other circumstances, you may want to lower the threshold to limit the amount of kernel memory that is used by Message Queuing.

To change the kernel memory threshold, follow these steps:
  1. Install the hotfix that is mentioned in this article.
  2. Add the following registry key:

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ\Parameters\KernelMemThreshold of data type DWORD

    The default is 80. The value can range from 1 to 99. Anything else is converted to 80.
    Note When you create this value the Decimal option must be selected. If you select Hexidecimal, the default value of 80 is used.
To change the kernel memory threshold on a clustered Message Queuing server, follow these steps:
  1. Install the hotfix that is mentioned in this article on each cluster node.
  2. Add the following registry key of data type DWORD on each cluster node:

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ\Parameters\KernelMemThreshold

  3. Add the following registry key of data type DWORD on the active node in the cluster:

    HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ\Clustered QMs\MSMQ$[Clustered resource name]\Parameters\KernelMemThreshold

For additional information about how to obtain a hotfix for Windows 2000 Datacenter Server, click the following article number to view the article in the Microsoft Knowledge Base:

265173 The Datacenter Program and Windows 2000 Datacenter Server Product

For additional information about how to install multiple hotfixes with only one restart, click the following article number to view the article in the Microsoft Knowledge Base:

296861 Use QChain.exe to Install Multiple Hotfixes with One Reboot


Modification Type:MinorLast Reviewed:10/11/2005
Keywords:kbHotfixServer kbQFE kbtshoot kbWin2kSP4fix kbWin2000sp3fix kbWin2000preSP4Fix kbfix kbbug KB811308 kbAudDeveloper