“Insufficient System Resources” in WinXP

Promoting Win7 to WinXP Users

Windows XP first edition wasn’t a terribly stable platform. Nor was SP1. But SP2 with 1G of RAM did the trick. It was stable, compatible and allowed users to open many many windows before it ground to a halt.

No more – at least not since the release of Windows 7.

While WinXP had progressively gotten slower over the years – particularly upon rebooting – at least in my case the overall performance seemed to hold throughout the Vista years. Within 6 months of the release of Windows 7 however, my installation began to freeze up. At one point I could only view half the objects on the screen, leading me initially to suspect my video driver. Ultimately I had to restore an older ghost image to recover use of the computer. Upon installing the latest Windows Updates however, soon the new installation also began to show problems. Occasionally I received warnings that “memory could not be read”. The OS began to “get stuck” when I opened multiple windows and/or tabs. I began to realize that shiny IE tab edges signalled impending doom. “Insufficient system resources exist to complete the required service,” or so I was told.

Finally, when as few as 10 windows/tabs would lead to stalls, I figured something must be severely screwed up.

Restoring the “Old” WinXP SP2

Here’s what I discovered: that “something” was a registry issue. In fact, it involved registry keys which for the most part DID NOT PREVIOUSLY EXIST. By adding one registry key in particular, I was able to restore system performance to the same levels I remember from long long ago. That key deals with a concept I had never heard of previously, so-called “kernel memory”.

Kernel Memory & PagedPoolSize

In Microsoft lingo, the principal parameter involved is apparently called PagedPoolSize, and here’s where it needs to go:

Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

Check to see if the parameter PagedPoolSize already exists. If your original installation was a XP SP2, you will probably have this parameter already, albeit with a value of zero.

If your original installation was plain old XP SP zero, then you probably won’t have it at all. In that case, find the Edit menu, point to New, then click DWORD Value.
Type PagedPoolSize as the entry name, then press ENTER.

Once the parameter exists, right-click on it, then select Modify. Click Hexadecimal, then in the Value data box type a value of FFFFFFFF and click OK.

Changing this ONE parameter seemed to revert WinXP back to “normal” – i.e. how it worked 5 years ago.

The same source did however also recommend changing one other key in the same place, which I eventually did, as well:

Locate and then click the following registry subkey:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

On the Edit menu, point to New, and then click DWORD Value.
Type PoolUsageMaximum as the entry name, and then press ENTER.

Right-click PoolUsageMaximum, and then click Modify.
Click Decimal, then in the Value data box type 60 and click OK.

I find it noteworthy that the Microsoft website seems to contain no information on this PagedPoolSize key in connection with Windows XP.

(Thanks to AravindKM at http://www.symantec.com/connect/forums/insufficient-system-resources-exist-complete-requested-service)

The Prefetch Function & Slow Boot-Up

In the process of researching this issue, I also found out about WinXP’s “prefetch” feature, which is apparently one of the major factors contributing to long boot times. Apparently WinXP preloads “frequently used” applications at boot time. From what I can tell, that means basically everything. I had 100+ applications in my list. Out out.

This issue is well documented here: http://www.intelliadmin.com/index.php/2006/09/why-windows-takes-so-long-to-start-up/

“Out of Memory” Error [Update 24-Oct-2010]

If you are using a machine with more than 1G of RAM, you are likely to encounter one further issue – appropriately the “out of memory” error. It seems that Windows XP was simply not designed with this possibility in mind; nor did the Windows Update team deem it worthy of a simple registry fix. This problem is also easily surmounted with a registry tweak, documented here:


IRPStackSize & Insufficient Memory

Finally, there is one other similar sounding but actually unrelated issue. This issue leads to an “insufficient memory” error message. By default, Windows XP allocates 15 slots for storing information from each level of an input/output request packet; if the stacks get too large, for example due to anti-virus “checking” during the processing of input/output requests, then in theory more than 15 slots could be needed. This issue can be addressed by adding a new IRPStackSize key to the registry here:


This site explains how to fix this issue:


For some reason WinXP worked just fine without this PagedPoolSize key 5 years ago, but I suppose that’s progress for you. Microsoft always has something new for its customers!

This entry was posted in IT and tagged , , . Bookmark the permalink.

2 Responses to “Insufficient System Resources” in WinXP

  1. two_worlder says:

    i tried this “fix” on SP3 and it cut off all internet connectivity, and the registry key was already there set at 0 – so i assume you are still on XP SP2 – the one which has recently been cutoff from microsoft support. you should try SP3 – works well on my machines and use Chrome browser if you need lots of tabs, it;s fast.

  2. Pingback: WinXP “out of memory”? | Aha Moments

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s