Home  /  Resources & support  /  FAQs  /  Memory allocation in Windows XP
This FAQ is for users of Stata 10.

Why can’t I allocate as much memory on Stata 10 as I could on Stata 9, if I am using Windows XP?

Title   Memory allocation in Windows XP
Author Kevin S. Turner, StataCorp

There is an issue in Windows XP, service pack 2 that fragments the memory available to Stata 10, as noted in the Microsoft Knowledge Base article at the below URL.

http://support.microsoft.com/?kbid=894472

If you have service pack 2, Stata 10, and often need memory near or above 1 GB, you should consider installing a hotfix patch from Microsoft that corrects the problem.

You can test to see if you are experiencing this in two ways. The first method is to use a version of Stata before version 10. Record the maximum amount of memory you can allocate and compare that to the maximum amount you can allocate under Stata 10. If there is a large difference (>50 MB), the issue is probably present. The second way to test is by using the System Restore functionality of Windows XP to revert to Service Pack 1. If you can allocate significantly more under Service Pack 1 than 2, you are most likely experiencing the problem.

A fix from Microsoft known as hotfix 894472 is available. Microsoft has informed us that this hotfix will become part of Windows XP service pack 3 (SP3).

Note: Vista does not need the hotfix.

Until SP3 is released, we have received permission from Microsoft to make hotfix 894472 available to affected users. It is available for download here. To install the hotfix, download it to your hard drive, double-click on it, and follow the instructions.

This issue can affect applications other than Stata 10, but Stata 10, because of its use of MFC (an internal set of Microsoft libraries) and need of contiguous memory space, is in a position to more readily exhibit this problem. Earlier versions of Stata did not use MFC, which is why they were not affected. This hotfix does not guarantee that your operating system will allocate close to the maximum memory limit of 2.1 GB.

Note: Windows 2003 server with service pack 1 has the same problem as above, but the bug was fixed in service pack 2.