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.

When you replicate public folders to a computer that is running Exchange Server 2003, the nonpaged pool leaks memory


View products that this article applies to.

Symptoms

When you replicate public folders to a computer that is running Microsoft Exchange Server 2003, the nonpaged pool leaks memory. The server stops responding until you restart the Microsoft Exchange Information Store service.

The memory leak trace may show that the nonpaged pool memory is filled by AuxL nonpaged pool tags. These tags are used by the Exifs.sys driver. This is the kernel-mode driver that the Exchange store driver uses to read and write items to and from the messaging databases.

↑ Back to the top


Cause

This issue occurs because of the content conversion of SMTP/MIME messages that are sent to the public folders.

All incoming public folder replication messages are stored in the .STM file and then converted to MAPI format. Incoming replication messages reserve space in the .STM file during MAPI conversion. If the user traffic in the Exchange server is low, the space in the .STM file that is reserved by incoming replication messages is not reused. The information store keeps a track of reserved space and free space in the store and allocates memory efficiently when it is requested by incoming replication messages. If no user data requires space in the .STM file, the �free lists" become larger, and they eventually consume all available kernel memory.

↑ Back to the top


Resolution

To resolve this issue, unmount and then remount the public folder store.

You can schedule a task to run the following script after business hours. The script unmounts and then remounts the public folder store.
Set oDB = CreateObject("CDOEXM.PublicStoreDB") 
strDB = "DN of the Public Store" 
oDB.DataSource.Open strDB 
oDB.Dismount() 
oDb.Mount()
Microsoft provides programming examples for illustration only, without warranty either expressed or implied. This includes, but is not limited to, the implied warranties of merchantability or fitness for a particular purpose. This article assumes that you are familiar with the programming language that is being demonstrated and with the tools that are used to create and to debug procedures. Microsoft support engineers can help explain the functionality of a particular procedure. However, they will not modify these examples to provide added functionality or construct procedures to meet your specific requirements.

↑ Back to the top


Keywords: KB960908, kbexpertiseadvanced, kbtshoot, kbprb, kbsurveynew

↑ Back to the top

Article Info
Article ID : 960908
Revision : 2
Created on : 12/17/2008
Published on : 12/17/2008
Exists online : False
Views : 202