FixHib: Memory allocator for fixing the "Insufficient System Resources Exist to Complete the API" bug in Windows XP

If you have 1GB, or more memory installed in your system, you have probably noticed that sometimes Windows XP refuses hibernating. I researched a little, and I have noticed that when my physical memory usage is below 512 MB, the operation succeeds. I beileve that this works at others, too. So, if you experience the "Insufficient System Resources Exist to Complete the API" error, consider trying my program.
By allocating a very huge amount of memory, we force the kernel to swap out some MBs from the physical memory to the swapfile (normally c:\pagefile.sys), so physical memory frees up. Of course, this process cannot be automated (at the moment as I see): you have to set up swap file according to your physical memory installed in your system and used memory size at hibernation. Also, you should close some programs before hibernation which eats a lot of memory.
IMPORTANT: use this program at your own risk, I take absolutely no garantee. If you allocate too much memory, you can crash your system!
USE THIS PROGRAM ONLY IF YOU KNOW WHAT IS VIRTUAL MEMORY, PHYSICAL MEMORY, MEMORY ALLOCATING AND SWAP FILE.
The hibernation button will always work, even if XP disabled hibernation access in the Start Menu.
Feel free to share your experiences with me.
Update: Microsoft has released a fix for XP SP2, which seems working, see KB909095 (download it from here).

Download

Download FixHib 0.11
Download source code (C# 2.0, can be compiled with Visual Studio 2005): FixHib 0.11 source code
This program requires .NET Framework 2.0.

Screenshot

More problems on hibernating

If you experience problems such as slow wake up (restore) after hibernation, this can be caused by memory leaks.
I noticed this on the following programs:

Memory leaks come from very wrong programming style, so an average user can't solve this problem.
Also, I don't know why memory leaks interfere with hibernation wake-up.
The main problem around the 1GB hibernating problem is that a fix is available (KB330909), but it won't install on some Windows installs (e.g. on my computer with SP2). According to some people, this patch doesn't solve the problem at all.


Back to the main page