Поделиться через


Pool Nonpaged memory Leaks on Exchange 2003

I am working with two independent customers.  Each of these customers is running Exchange 2003 on the backend, but have been working over the last several months to upgrade their clients to Office 2007, including Outlook 2007.  In most cases, desktops were remaining on Windows XP, although some Vista clients were thrown in the mix.  In both situations, as the number of Outlook 2007 clients increased against a 2003 backend, the customers have noticed Pool Nonpaged Memory problems.  We've considered and made adjustments for the information called out in https://support.microsoft.com/kb/912376.  However, the problem hasn't gone away.  Upon further investigation (which wasn't necessarily obvious at first), we discovered that Outlook 2007 was found to have opened several hundred (in some cases more than 700) TCP sessions to the Exchange Server. 

Upon restarting Outlook and allowing it to run, we could see a linear progression in the available memory on the server over the course of even one hour, up to the point where it would potentially cause a server crash.  In one customer's case, the server was actually crashing almost daily.  We disabled the TCP Chimney on the server as well as TCPA and RSS, just to rule out some of the potential issues with Windows 2003 SP2 and Exchange 2003.  No changes.  We investigated the possibility of add-ins in Outlook 2007 causing the problem.  Again, no luck. 

Finally, one of our support engineers uncovered the issue.  Normally, Microsoft Outlook retains a list of servers that it cannot connect to. When Outlook cannot connect to a server by using a Remote Procedure Call (RPC), it adds that server to the list. Even when Outlook is not running as a foreground program, it periodically tries to contact the servers in the "dead server list" to see if they are available again.

He found that in Outlook 2007 using Asynchronous RPC, there appears to be a connection leak when a server needs to be added to the Dead Servers List.  In one particular customer case, we found that the default public folder store for the majority of the customer's users was pointed to a Public Folder store that was not operational.  This caused Outlook 2007 clients on that store to build connections until the server eventually ran out of Nonpaged Pool Memory. Investigation continues as to whether this is isolated or more of a general problem.

UPDATE: I've received a number of questions about this post. I've talked this over with the Premier Engineer and he provided this guidance to see whether this problem might what's causing you grief. Look for the number of connections per client to Exchange. Use netstat to grab the connections, pump to a text file, and group the connections in Excel. If you see more than about 15-20 connections from a single IP to the Exchange server, this may be your problem. Otherwise, you're not likely experiencing this issue. Finding the cause of the problem, however, could still be challenging and possibly unique to each customer.