Optimize Windows XP Memory Use

Filed under: Windows XP 

You think you have a lot of memory (RAM) in your computer and still you are getting out of memory errors? This can indeed happen if you are running many applications or memory intensive applications under Windows XP.

There are different reasons for this, one being the memory fragmentation in Windows XP. Like a hard disk, memory can become fragmented. Further some memory is not always immediately released, like DLL (dynamic Link Library) memory. If a DLL is not used anymore, it is not always unloaded from memory right away.

PC memory moduleAnother reason is that Windows XP can not always make all available internal memory available to an application. This can be the result of a limit in the number of system page table entries. This of course may lead to the out of memory errors. A solution for many of these problems is to tell Windows XP to allocate more memory for system page table entries. The steps below show you how:

  1. Start the Registry Editor.From the Windows Start menu, select Run. In the Run box, type regedit and click OK.
  2. In the Registry Editor, locate the following key:
    Session Manager\Memory Management
  3. Next, double-click the Systempages entry and enter a value of “ffffffff” (8) in the Edit DWORD Value dialog box.
  4. Click OK and then close the Registry Editor.
  5. Reboot your computer.

When Windows XP restarts, the operating system will try to allocate more system page table entries, depending on the internal amount of memory. Basically Windows allocates the maximum possible and then adjusts the value if the computer configuration changes. This Windows XP tweak should prevent many of the out of memory errors.

Remember that you can also try to increase the virtual memory of Windows XP. Increasing the size of the paging file can also help solve out of memory problems.

More than 1GB of RAM?

If that’s the case, Windows XP can be configured to use the internal memory even more efficiently. There are two more registry settings that can be used to configure memory usage in Windows XP that can help speed up systems with sufficient memory.

The first can be found in the following registry key:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

In this key you will find a value called DisablePagingExecutive. Setting this value to 1 instead of 0 will instruct Windows XP to keep its kernel (ntoskrnl.exe) in memory. The kernel code will not be swapped to disk (pagefile) anymore, ensuring the core OS functions are always immediately available.

The second value is called LargeSystemCache and resides in the same registry key. Again set the value to 1 instead of 0 to enable it. The LargeSystemCache value ensures that more system memory is used for the file system cache. This tweak is best used on servers and not on workstations. Also do not use this tweak on RAID systems as that can cause problems. In some cases it can benefit workstation configurations, but it strongly depends on how the desktop is used. Simply try it for your own situation.


Leave a Reply

You must be logged in to post a comment.