I recently upgraded my laptop to 2GB of memory. I've been really pleased with my new ability to leave Internet Explorer, Outlook, SharpReader and SQL Server open when I want to use Visual Studio.Net and write some code.
As a negative side affect, I noticed some problems when I put my laptop into stand by or hibernation mode.
Stand by mode is where the laptop is still technically "on" and its drawing a tiny little charge out of the battery. All of my programs are still in memory but the machine is in a reduced state which preserves the battery until I'm ready to turn it on again. This mode the fastest way to pack up when I need to run for the bus as well as power back up again when I reach my destination.
Hiberation mode is similar to stand by except the machine is actually turned off. The laptop persists everything in memory to disk so I can even swap batteries if I like; a great trick to making long plane trips go by quickly. When I power up again, the laptop restores the contents of the memory and the CPU comes back to life.
It takes a little longer to go into and come out of hibernation since there's more stuff to do than when using stand by mode. Hence, my preference was to use stand by unless I knew I would be swapping batteries. The other day on a podcast I heard either Carl Franklin or Scott Hanselman mention that stand by mode can behave poorly because applications have the option of supporting it. Hibernation doesn't suffer from that since the contents of memory are dumped to the disk. Everything supports hibernation, but some apps may choose not to support stand by and therefore, when you start up again, an app may run aground.
I might have seen that on my laptop, but it hasn't been painful enough for me to care too much; until the 2GB memory upgrade.
In the best scenario, I would start the stand by or hibernate process and it would immediately come back and tell me this message:
Insufficient System Resources Exist to Complete the API
At first, I would smile and say to myself, "That's cause I got two gigs, baby!!" That wore off though. My harddrive is a paultry 40GB and I usually have somewhere between 8 and 0.5 GB free on any given day. So a few days ago, I deleted all of my Office and Battlestar Galactica episodes that I downloaded from iTunes and made sure I had enough room for the memory to dump to disk.
In the worst scenario, it would "take" for at least 2 minutes, enough for me to believe it worked, only to start up again inside my laptop bag. I would get to my destination and grab my laptop only to find it a little too warm. I'd frown. Sometimes, in the past, I would forget that it was on and chuck it in my bag only to find a hot laptop waiting for me later. The same frown occurs.
So this morning, I thought, what if there were some glorious place that existed where people would store and share their knowledge? I fired up my browser and did a Google query for "dell latitude cannot hibernate with 2GB ram". The first hit was this one:
This page talks about my exact problem and an patch that is supposed to fix the problem. Only in his case, he has four computers that still exhibit the behavior after the patch was applied. There was a note on there that the latest patch of August 2006 was released. I suspected his problem was before this latest patch came out.
I downloaded the patch (WindowsXP-KB909095-x86-ENU.exe), installed it and lo-and-behold it worked! Well, I hibernated for at least two minutes. I'm excited to see if I get my stand by working again. I'll add a comment in a few days with the results.
This is the knowledge base article link and title for this issue:
The computer occasionally does not hibernate and you receive an "Insufficient System Resources Exist to Complete the API" error message in Windows XP with Service Pack 2