I wrote before about my computer wasting CPU cycles by phoning home to HP.

I also wrote about my cat deleting important files and emailing government agencies in my absence. Josie-the-Editor’s subterfuge continued in her quest for increased thermo intake courtesy of my oh-so-toasty keyboard. But yet again I forgot to “retire” my computer for the evening, granting her leave to further exploit my foolishness.

I awoke last week to find my computer at a near complete standstill. Oooooh no. But Type A that I am, I scrambled for print-screens, suspecting a repeat performance of HP’s Calls to the Mothership. But the system was so clogged it took me 15 minutes of patiently moving the mouse 2 inches, waiting 20 seconds to see where it landed, readjusting, etc., until I was just over the button to frantically SAVE!

The little voice in the back of my head nagged, JUST REBOOT AND CUT THIS CRAP OUT!

I refused.

Okay, Listing all those Symptoms

  • Computer at an absolute crawl
  • System still responds to the mouse (sorrrrrrttt of; glacialllllllly)
  • System still processes requests, albeit at an apparent processor speed of 4 KHz
  • The laptop screen is open. Completely. (Accidentally.)

I have some evidentiary screen shots. Although, at the rate the system was servicing interrupts like the mouse, this took forever. I saved them in whatever directory was current - wasn’t gonna spend another 7 minutes navigating to a known folder. I figured, I’ll find ‘em later.

And in my quest to document this mess, I was late to a doctor’s appointment. Ooooh, so Type A. (Rabid yapping poodle gnawing and dragging possibly tasty bone across the yard, stumbling single-mindedly through high grass oblivious to potential sink holes. (Hey, describing myself. Just one of those metaphor thingies, ya know?)

Anyway, Gathering More Information

First, Task Manager. I had assumed the CPU Usage would be pegged at 100%. I was shocked that it was not!

But, Double Gak! The PF Usage (right below CPU Usage) is an astounding 3.21 GB!

Okay, back up a minute. This means something significant to ME but perhaps not to you. So, a little background about my system. (This is one of those “Learning More” stages we CAN run to the internet for.)

All those cryptic numbers in Task Manager

I’m not going into details about the numbers - there’s good information elsewhere, and you don’t need to understand it all to recognize how stupendously hosed the system is right now. Just know that the total amount of memory available is the Physical Memory (RAM) plus Page File memory (disk space).

1) Physical Memory is the RAM in your machine - I have 1GB. This is the “Total” number. The computer keeps some for itself (System Cache) and makes the rest available to programs to use. Normally, these two values should kinda add up to the Total Memory in your system.

(** Kinda is a technical term for “this is a massive oversimplification that is often kinda correct but other sorta more complicated stuff affects it.”)

Note here, that this is off by a factor of about 7. Despite the fact that I have 1GB of memory, only 150 MB is available AT ALL.

That’s Baaaaad.

2) PF stands for Page File. It’s a file on the hard drive that’s used as an extension of RAM. Virtual memory. It effectively increases the amount of RAM available for use by programs, etc., but the PF memory is a lot slower than RAM because reading/writing RAM is a HECK of a lot faster than reading/writing memory/accessing/swapping on the disk, etc.

So, when memory needs increase, the amount of Page File memory used increases. But the downside is that the entire system gets slower and slower with increased PF Usage.

[Here's a really nice article on how to decipher all those cryptic numbers in Task Manager: TechRepublic Tutorial: Decipher Task Manager's page file usage data. I'm simplifying here and as a result, not being completely accurate, but close enough. This isn't required reading for this post, but a good reference.]

Okay, so what are reasonable numbers for memory (and PF Usage)? It’s based on your system hardware and the PF limit set in software. So let’s learn more. Check out the last 6 lines describing my system’s memory.

Lisa’s Dell Inspiron 700m and the Normal State of Affairs

I’ve got a Gig of RAM. Page File Space is recommended to be about 1.5 * Total Physical Memory, or about 2.5G. From above, it’s close.

You can confirm or change this value in the Virtual Memory window. Mine is shown below (For Windows XP, right click on My Computer, choose Properties, go to the Advanced tab, click Performance Options, click Advanced, and under Virtual Memory click Change.) My Virtual Memory value is set to 1.5 GB, and max value at 3.0 GB. Makes sense - my system starts to drag at 1.5 GB. I could keep using it, but as it climbs higher the system slides most ungracefully into bloated sluggishness.

(A straightforward reference for setting the Virtual Memory can be found here.)

So now we know the “sluggish” limits of my machine. Your’s are likely different, but good to know as a guideline for “Oh crap, I gotta reboot again.”

So, Clean State of the State

When I reboot my machine, PF Usage is around 400 MB. Loading the programs I use most often, the number rises to maybe 450 or 500 MB.

Here’s a screen shot after a normal reboot. 412 MB of memory (Page File Memory) Also, note that most of the Physical Memory is in use (Total = Available + System Cache).

Also, the Memory (Commit Charge) Limit is about 2.5 GB … the max we calculated above. So far so good. Right now, we are pretty far away from reaching 2.5 GB, so the system runs nice and fast.

  • Clean boot with common programs launched: Page File Memory ~= 410 MB
  • Total memory = 1GB ~= System Cache + Available
  • My system is skipping merrily along

Comparing this Clean and Fresh Feeling to the Evilness of my Morning Discovery

Compare the previous nice-and-perky happiness to the evil performance plot below. This is the nearly unresponsive system; syrup. And not that tasty maple syrup from Vermont they form into little candy maples leaves of heavenly goodness.

PF = 3.21 GB. Auauaugh! This is a situation I have never seen before.

Double Aughghgh! So now I know…

  • While CPU is actually quite reasonable, PF is beyond anything I have ever seen. Light years beyond the recommended 1.5 GB limit we started with, AND past the software “max” setting of 3GB.
  • When PF is high, the system gets really slow. Oh, like trying to run a 5K through molasses.
  • The amount of RAM (Physical Memory) available is a pittance, both for the system and for programs. Most of the RAM is simply not available for some reason. 99 MB + 54 MB = 153 MB … WAY below the 1 GB RAM in the machine. This makes the need for PF memory huge, and the system, well, nearly dead.

Oh, please shoot me now.

Let’s dig deeper - we know the symptoms, let’s find the cause

So what the heck can blast my PF over 3GB and drive my system to a glacier-migrating crawl? As always, we check out the Processes in Task Manager. Look at the Mem Usage column … this is how much memory is needed for each process, each nicely allocated (dragged kicking and screaming) from your total memory - RAM and PF).

Quite smartly, you probably already noticed that all that memory is allocated to a zillion** instances of HelpCtr.exe.

**Zillion being another of those concise technical terms meaning a ridiculously huge number of things having an upper bound that is beyond that needed or requested, but not actually worth counting for any useful purpose. Other forms being Gazillion, GZ, (1,000 Zillion), and Shitload, SL, (0.001 Zillion).

Ohhhh, (realization dawning) …

That Cat.

My Cat has somehow tap danced across my system in a new and exciting way. Singing, begging, reaching out to the computer universe for Help, not yet finding the answer (42).

But when she attempted to open YET ANOTHER (1000 + 1) instance of the program, the system finally failed to initialize, unable to allocate enough memory.

Clearly, she would receive No More Help.

Soooooo,

  • Way to many instances of a program launched to the point of initialization failure. No more programs would ever run.

Okay, let’s try and clean up this mess, I thought. Heh heh. Nothing having received the Blessing of Fur is every resolved so easily … as clicking OK to terminate the application (in the Application Error box above) did not work. Granted, that error window would go away, but immediately return. And no instances of HelpCtr.exe were terminated as a result. Blown stack somewhere.

Hypothesis

Oh, need I even put this to paper? THAT CAT launched so many instances of a program, each of which requiring a nontrivial amount of memory. Let’s go out on a limb and say this sucked up nearly every available byte of RAM + Page File memory and then somehow went digging through my victimized hard drive for more.

Recall, yet again, Keyboards and their Irresistible Call to Cats.

Gathering more info to support the hypothesis

And to Process Explorer, with its extra information. You’ll note that each instance of HelpCtr.exe is the Microsoft Help and Support Center. You’ll also note to the right (”Private Bytes”) that each instance consumes about 15 MB. And then after a bit they nicely drop to 1MB each.

Approximately 180 instances of this (un)helpful process.

So why did this drag the system to a crashing halt? Remember, RAM and PF are used to execute programs.

Confirming the Hypothesis

This one isn’t to difficult to confirm. Let’s see if we can account for the 3.21 GB of memory consumed. Estimating from the Private bytes and the length and position of the window slider (ruler not required, multiple lengths of a pen’s cap works nicely), approximately 100 instances consumed 15 MB each and the rest consumed only 1 MB each.

Lessee…

100 instances * 15 MB/instance + 80 instances * 1MB/instance =
1.5 GB + .8 GB = 2.3 GB

ALL THAT MEMORY being sucked up by Josie’s intense need for assistance from the Microsoft Mother Ship leaves no memory left to do nice things like pay attention to the mouse, update the display, get me to the alter (I mean doctor) on time … you get the idea.

(Oh, and let’s not forget Firefox, the most COMMON reason why I need to reboot my machine for Slow Behavior … 123 MB. It often gets to 300 MB. Sometimes restarting Firefox fixes the problem. Sometimes not. Well, and vsserv.exe from BitDefender has taken over as the prime offender as well. ‘Nother post. Likely with flames.)

But I digest.

To confirm a bit more, I managed to kill all the processes and the PF usage dropped to approximately 1 GB - nicely under the 1.5 GB normal limit. Doing the math, that makes sense too.

  • Mission complete - 3.2 GB ~= 2.3 GB for Help! Help! plus 1 GB for other stuff after Help! Help! requests were retracted.

The Walk Away

Complete blame for this problem may be laid squarely at the (four) feet of Miss Josie “The Editor” Simone. And clearly I need to be much more diligent preparing the computer for my Walk Away Time.

The only thing I can’t quite figure out is how she managed to do this. Clearly, she walks all over and sits on the keyboard. She ignores the mouse, as it generates neither heat nor food.

But Help and Support is not launched by hitting F1, a key she commonly uses as a stepping stone.

Help and Support is launched from the Start Menu - the icon is on the right side - the little blue circle with the question mark there, and in the figure above. Since I doubt Josie has figured out the mouse (except the little field mice that seem to run behind my lower kitchen cabinets), she somehow managed to launch it with keystrokes.

Start is launched with CTRL-ESC. But to get to Help and Support, she would have to scroll up or down to select it. Hmmmm. And repeat the entire procedure. 180 times.

The mouse would have been so much more believable. Almost.

As I mentioned before, she’s a clever cat. I’m just her support staff; the two-legged kind who clearly have not grasped the length and breadth of her mental brilliance.


Post Script

I’d blamed Josie completely for this little scenario. Knowing full well she cares nothing for the mouse. But I also mentioned Support Staff, assuming by Staff she meant me.

Bad assumptions during debugging can be the difference between “Gee, I think I fixed the problem,” and “Excellent - nailed that bastard.”

I should have taken my own advice. Here’s where I found Molly the other day, surreptitiously sneaking out a paw … I should have known.


Post Post Script

John Davies left me a comment below and provided a Very Likely Explanation for the massive Phone Home Initiative that Josie the Cat perpetrated. Pressing Windows Key-F1 launches repeated instances of Microsoft Help and Support Center. Perhaps not truly mystery solved, but at least my brain is more at ease that a POSSIBLE solution has been identified - Thanks John!

≈ ♦ ≈

See the comprehensive list of All the “Let’s Debug It” Mysteries

Let’s Debug It: A Rabid War between Technology and Nature (Jet Skis vs Mangroves)

Let’s Debug It: My Internet Security Software HATES me, TOLERATES me, REVILES me. Evil BitDefender

Let’s Debug It: Alaskan Scuba Stuff and iPods Don’t Exercise

Let’s Debug It: A Cat’s Plea to Microsoft - “Can You Hear Me Now?”

Let’s Debug It: “No Ma’am (Idiot), You’re Calling from Line 2″

Let’s Debug It: Keyboards and Endothermic Mammals

Let’s Debug It: Hacksaws are Your Friend

Let’s Debug It: My Computer Plays “I’m Ignoring You Now”