virtual memory fragmentation happening too often. can this storage be expanded? recommendations?

Posted on 2003-11-11
Medium Priority
Last Modified: 2013-11-15
the error is as follows: The virtual memory necessary to run your Exchange server is fragmented  in such a way that normal operation may begin to fail. It is highly recommended  that you restart all Exchange services to correct this issue - EventID 9582... I would like to make this error go away. What causes it and what can i do to avoid it... expand the memory allocation? is there a way to proactively defrag this before it gets too bad? it is not "convenient" to stop and restart the services during the day, and i don't like errors of this sort to begin with! your assistance is most earnestly and graciously sought, oh sages of the ether...
Question by:krichert
  • 4
  • 3

Author Comment

ID: 9722530
ok, so it's early, and this is before my first cup of coffee- i am running windows 2000 server, and exchange 2000....sorry!
LVL 58

Expert Comment

by:Pete Long
ID: 9722931
Hi krichert,
typical helpfull M$ article
Immediately after the information store service is failed over to a passive node, Event ID 9582 is logged in the event log:
Event Source: MSExchangeIS
Event Category: Performance
Event ID: 9582
Type: Error

Description: The virtual memory necessary to run your Exchange server is fragmented in such a way that normal operation may begin to fail. It is highly recommended that you restart all Exchange services to correct this issue.
The passive node maintains a stub store.exe process. If the passive node at one time hosted the virtual server and was not restarted after it released ownership of the virtual server, the memory in the store process already contains fragmentation.
To clear fragmentation, restart the current passive node, and then fail cluster resources to the newly restarted node. Additionally, restart the previously active node in case an unexpected failover was to occur.

LVL 58

Expert Comment

by:Pete Long
ID: 9722954
One of the most problematic areas of Exchange scaling is the lack of virtual memory in the store.exe process. As you scale a server to accommodate more users and more usage, the server may run low on virtual memory. This problem is signified by the presence of 9582 events in the Application log. In some cases, these events are informational or routine, and can be ignored. In other cases, the lack of virtual memory can cause severe performance degradation and message processing errors (signaled by 12800 events). The following is an example of 9582 events.

The Information Store service logs the following events if the virtual memory for your Exchange 2000 server becomes excessively fragmented:

The virtual memory necessary to run your Exchange server is fragmented in
such a way that performance may be affected. It is highly recommended that
you restart all Exchange services to correct this issue.
Note   This warning is logged if the largest free block is smaller than 32 MB.
The virtual memory necessary to run your Exchange server is fragmented in
such a way that normal operation may begin to fail. It is highly
recommended that you restart all Exchange services to correct this issue.
Note   This error is logged if the largest free block is smaller than 16 MB.
There is virtually no correlation between physical memory and virtual memory. Errors indicating that you are out of virtual memory cannot be solved by adding more physical memory. Additionally, errors indicating that you are out of virtual memory and virtual memory fragmentation are not just a feature of active/active clustering; active/passive clusters and even standalone machines can suffer from virtual memory issues as well. However, you will notice virtual memory issues more frequently on clusters because standalone servers are not usually scaled to multiple thousands of users.

To troubleshoot virtual memory problems

Determine if your server is running Windows 2000 Server or Windows 2000 Advanced Server. If your server is running Windows 2000 Server, ensure that the /3GB switch is not in the boot.ini file. If your server is running Windows 2000 Advanced Server and there is more than 1GB of physical RAM installed, ensure that the /3GB switch does appear in the boot.ini file.
Note   Because Windows 2000 Server does not support the /3GB tuning switch, do not attempt to scale individual servers to host multiple thousands of users.
Check the Application log for 9582 warnings (less than 32MB virtual memory blocks available) or 9582 errors (less than 16MB virtual memory blocks available). On some large systems, it is usual to drop below the 32MB threshold during peak activity; however the available virtual memory should rise significantly during non peak activity.
Check the application log for other errors that indicate that you are out of memory (such as 12800 MIME processing errors) in addition to 9582 warnings. If the warnings are accompanied by other errors indicating that you are out of memory, users may be unable to access mail. If no other processing errors occur, and users are able to access their mail, it indicates that the 9582 warnings may be relatively harmless. However, 9582 warnings should still be investigated for possible action.
Monitor the MSExchangeIS\VM Largest Block Size counter. This counter is the best way to investigate virtual memory issues. You can monitor this counter in real time, or monitor 1-minute intervals. Collecting 18-24 hours of data to determine if a trend indicates that memory is being released. Monitor the minimum value to see what the drop is. It can be normal on large servers if this minimum value is around 55MB.
Be aware that other store-related processes, such as virus scanning, can tip the threshold. However, as long as user performance is not affected, and the virtual memory block grows again during non-peak activity, corrective action may not be necessary. However, if you expect user load to increase, you may want to reduce overall virtual memory consumption so that the server can accommodate a greater load.
To reduce virtual memory consumption, first ensure that the Exchange server is running Exchange 2000 Server Service Pack 3 (SP3); Exchange SP3 has specific virtual memory optimizations.
If 9582 warnings are still being logged, then you must perform a registry change. This registry change is acceptable as long as there is an adequate amount of RAM available on the server. Monitor the Memory\Available Bytes counter. Make sure the counter indicates more than 200MB.
Change HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\HeapDeCommitFreeBlockThreshold to equal 262144.

At this point, if you are still experiencing virtual memory issues, then you either have a heavily loaded system or memory leaks. If you suspect a memory leak, monitor the Process(Store)\Private Bytes counter to determine if it is growing over time. If you suspect the system is overloaded, you will likely also encounter other indications, such as high CPU utilization.
If the 9582 warnings have not stopped, then look at your Physical Disk\Disk Queue Length counter for the database and transaction log drives (run the diskperf –y command at the command prompt to view these counters). The disk queue length should never be consistently above the number of spindles in the array. You will see peaks, and ranges into the low hundreds are acceptable. If the disk queue lengths are up into 300 and beyond consistently, then you may have a disk bottleneck.
If you reach this point and are still encountering virtual memory issues, you must further reduce virtual memory consumption. For example, find out what the storage group and database configuration is. You can reduce this to 3 storage groups—to try to further reduce virtual memory consumption.
Making Bulk Changes to Active Directory

Watch this video to see how easy it is to make mass changes to Active Directory from an external text file without using complicated scripts.


Author Comment

ID: 9723543
ok, this is great stuff! one question on the registry change... this is an octal value field, is the value you are providing the value to type in (i.e. value =  262144, hence value = 0x00262144 (2498884)), or am i supposed to convert it so the value ends up as (262144) instead of (2498884)????
LVL 58

Accepted Solution

Pete Long earned 2000 total points
ID: 9724188
hehe Dont read it to deep, I usually make that mistake LOL just enter the value as 262144


Author Comment

ID: 9735292

thanks both for the help and the levity. it appears that the change to the registry has indeed solved the problem so far... and i tested with our weekly advertisement to our clientele with an html emailing rife with graphics... as a closing comment, could you complete the circle with what causes the fragmentation? is this just a normal function of reusing the same memory chunk with varietal size docs that naturally leads to this condition, or is it from problems? thanks again!!
LVL 58

Expert Comment

by:Pete Long
ID: 9741507
:0) Glad I could Help


Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

You finally migrated Public Folders to Office 365, decommissioned the Public Folder mailbox database and since then, when you send an email from on-premise to mail-enabled Public Folders, you get the following error: "Misconfigured public folder mai…
Exchange administrators are always vigilant about Exchange crashes and disasters that are possible any time. It is quite essential to identify the symptoms of a possible Exchange issue and be prepared with a proper recovery plan. There are multiple…
This tutorial will walk an individual through the process of installing of Data Protection Manager on a server running Windows Server 2012 R2, including the prerequisites. Microsoft .Net 3.5 is required. To install this feature, go to Server Manager…
There are cases when e.g. an IT administrator wants to have full access and view into selected mailboxes on Exchange server, directly from his own email account in Outlook or Outlook Web Access. This proves useful when for example administrator want…
Suggested Courses

579 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question