Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

You experience difficulties when you use an Outlook client computer to connect to a front-end server that is running Exchange Server 2003


View products that this article applies to.

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.

↑ Back to the top


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.

↑ Back to the top


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:

↑ Back to the top


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.

↑ Back to the top


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 typeLog file nameDescription
SizeHTTPERRn.LOGThe 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.
DailyhtYYMMDD.logThe log file is rolled over daily.
WeeklyhtYYMMww.logThe log file is rolled over weekly. ww is a placeholder for the week of the month.
MonthlyhtYYMM.logThe log file is rolled over every month.
HourlyhtYYMMDDhh.logThe 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:

↑ Back to the top


References

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

↑ Back to the top


Keywords: KB924047, kbprb, kbtshoot, kbrpc

↑ Back to the top

Article Info
Article ID : 924047
Revision : 6
Created on : 11/27/2007
Published on : 11/27/2007
Exists online : False
Views : 245