Microsoft KB Archive/924047

From BetaArchive Wiki

Article ID: 924047

Article Last Modified on 11/27/2007



APPLIES TO

  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Exchange Server 2003 Standard Edition



SYMPTOMS

When you use a Microsoft Outlook client computer to connect to a front-end server that is running Microsoft Exchange Server 2003, you experience slow response times. Alternatively, you cannot connect to the Exchange 2003 server. These symptoms occur when you use one of the following protocols:

  • Remote procedure call (RPC) over HTTP
  • RPC over HTTPS

Additionally, the following HTTP error log may contain Connection_Refused entries:

%SYSTEMROOT%\System32\LogFiles\HTTPERR\Log_Name.log


Note For more information about how HTTP error log files are named, see the "More Information" section.

CAUSE

This problem occurs if the Microsoft Windows Server 2003-based computer that is running Exchange Server 2003 runs out of available nonpaged pool memory.

HTTP.sys is a kernel-mode driver that uses nonpaged pool memory for every RPC over HTTP connection. HTTP.sys stops accepting new connections when the available nonpaged pool memory drops under 20 megabytes (MB).

In 32-bit versions of Windows Server 2003, the size of the kernel nonpaged pool memory is fixed at 250 MB. Additionally, the maximum size of the kernel nonpaged pool memory is reduced to 128 MB when you use the /3GB switch in the Boot.ini file. Therefore, the nonpaged pool memory that is available to HTTP.sys is limited.

WORKAROUND

To support more RPC over HTTP connections, use one of the following methods:

  • Increase the number of 32-bit front-end Exchange 2003 servers.
  • Replace the 32-bit front-end Exchange 2003 servers by using 64-bit Windows Server 2003 servers that are running the RPC over HTTP Proxy Network Service Windows Component. On Microsoft 64-bit operating systems, the kernel nonpaged pool memory is fixed at 128 gigabytes (GB). This enables HTTP.sys to handle more RPC over HTTP connections.


Note Exchange Server 2003 is not supported on 64-bit operating systems.

  • Replace the 32-bit front-end Exchange 2003 servers by using servers that are running Microsoft Exchange Server 2007 together with the Client Access server role.


Note Exchange Server 2007 will run only on 64-bit operating systems.

Note There is currently no graphical user interface (GUI) to manage RPC proxy servers. Therefore, you must write custom scripts to set up RPC over HTTP connections for eligible servers.

For more information about RPC over HTTP, click the following link to view the document on the Microsoft MSDN Web site:

For more information about x64-based versions of Windows Server 2003, click the following link to view the document on the Microsoft Web site:

STATUS

Microsoft has confirmed that this problem is caused by a limitation of 32-bit architecture. This problem affects the Microsoft products that are listed in the "Applies to" section.

MORE INFORMATION

Monitor nonpaged pool memory

You can use the Memory Pool Monitor (Poolmon.exe) utility and the Gflags tool to monitor the usage of kernel nonpaged pool memory. Both these tools are available in the following folder of the Windows Server 2003 CD:

\Support\Tools


For more information, click the following article number to view the article in the Microsoft Knowledge Base:

177415 How to use Memory Pool Monitor (Poolmon.exe) to troubleshoot kernel mode memory leaks


HTTP error log file names

HTTP error log files are named according to whether the rollover is based on size, on date, or on time. The following table lists the naming conventions for the HTTP error log files:

Rollover type Log file name Description
Size HTTPERRn.LOG The log file is rolled over when it reaches a specific size. n is a placeholder for the file number. The file number is incremented when the log file is rolled over.
Daily htYYMMDD.log The log file is rolled over daily.
Weekly htYYMMww.log The log file is rolled over weekly. ww is a placeholder for the week of the month.
Monthly htYYMM.log The log file is rolled over every month.
Hourly htYYMMDDhh.log The log file is rolled over hourly. hh is a placeholder for the hour of the day. The hour of the day is expressed in 24-hour notation.

For more information about HTTP error logging, click the following link to view the document on the Microsoft MSDN Web site:

REFERENCES

For more information about RPC over HTTP scalability, click the following link to view the document on the Microsoft Technet Web site:


Additional query words: XCCC OL

Keywords: kbrpc kbtshoot kbprb KB924047