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.

XADM: Resource Failure Error on Computers with More Than 800 MB of RAM


View products that this article applies to.

This article was previously published under Q195006

↑ Back to the top


Symptoms

On a very active Exchange Server computer with more than 800 megabytes (MB) of RAM, Exchange Server may start logging the following error message:
Event ID: 1160
Source: MSExchangeIS
Type: Error
Description: Database resource failure error Out of memory occurred in function "JTAB_BASE::EcCreateIndex" while accessing the database.
NOTE: The items enclosed in double quotes may differ from case to case.

↑ Back to the top


Cause

This problem occurs because Exchange Server tries to allocate more virtual memory than is available within the process.

The Microsoft Windows NT virtual memory address space is 4 gigabytes (GB) for each process. This implies that no matter how much physical memory is installed, a single process has access to only 4 GB of address space. In addition, Windows NT divides virtual memory into memory that is used by the kernel and memory that is accessible to user-mode (for the application). In standard Windows NT Server 4.0 or Windows 2000 Server, a user-mode application (like Store.exe) has access to 2 GB of virtual memory, and the kernel uses the other 2 GB. In Windows NT 4.0 Enterprise Edition and Windows 2000 Advanced Server, a user-mode application has access to 3 GB of virtual memory, and the kernel gets 1 GB.

All memory allocations for a process come out of the 2 or 3 GB available in the address space. The address space is not empty when a process loads; many elements take up space in it immediately. The code itself is loaded into virtual memory (Store.exe and all the DLLs); a system heap is allocated from this virtual memory; for every thread created, a 1 MB virtual memory allocation (typically) is created for the thread stack, and so on.

The net result is that for an individual process, the process will not be able to allocate a full 2 or 3 GB of virtual memory because some of the memory is in use.

The Exchange Server 5.5 Performance Wizard (Perfwiz) makes calculations about how much virtual memory will be used by using the amount of physical RAM as an indicator. When 2 GB of RAM is physically installed, Perfwiz will assume that it can allocate up to 2 GB of virtual memory for a process. This amount of virtual memory may not be free in a process's address space, so attempting to allocate this much virtual memory may fail.

↑ Back to the top


Resolution

To resolve this problem, obtain the latest service pack for Exchange Server version 5.5. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:
191014 XGEN: How to Obtain the latest Exchange Server 5.5 Service Pack
The English version of this fix should have the following file attributes or later:

Component: Administrator Program

File nameVersion
Perfwiz.exe5.5.2527.0

After you add the updated Perfwiz.exe file to the Exchange Server computer, you need to rerun the Performance Optimizer to readjust your memory settings for the information store to resolve the 1160 errors.

↑ Back to the top


Status

Microsoft has confirmed that this is a problem in Microsoft Exchange Server version 5.5. This problem was first corrected in Exchange Server 5.5 Service Pack 3.

↑ Back to the top


Keywords: KB195006, kbqfe, kbfix, kbbug

↑ Back to the top

Article Info
Article ID : 195006
Revision : 6
Created on : 10/27/2006
Published on : 10/27/2006
Exists online : False
Views : 299