Sunday, November 9, 2014

Why is the total memory usage reported by Windows Task Manager much higher than the sum of all processes' memory usage?

Task Manager shows my total memory usage at 90% of my 6 GB total, but no single process is using more than 250 MB RAM, and the sum of RAM use of all running processes is less than 2 GB. I've tried:



  • Looking at the numbers in the "Memory" column on the "Processes" tab of Windows 8 Task Manager.

  • Looking at the "Working Set", "Private Working Set", "Shared Working Set", and "Commit Size" columns on the "Details" tab of Task Manager.

  • Looking at similar memory-related columns in Process Explorer.

  • I've tried running Sysinternals RAMMap, but while I'm having the low-memory crisis, it crashes at launch. Once I resolve the problem, RAMMap runs normally, but at that point it's too late.


All show a pretty small amount of memory being used.


There are lots of people asking variants of this question, with various versions of windows, all over the Internet. Some of them manage to solve their low-memory problems, often by re-installing software; sometimes by re-installing windows from scratch. I'm looking for an answer to the general questions that these all share, and that never seem to get answered elsewhere:



  1. Why is total used memory much higher than the memory used by all listed processes, no matter how I try to count them?

  2. How could windows "know" that memory is used without knowing what program is using it?

  3. What processes might possibly use up memory but not show up on the list?

  4. Is there any software out there that can give more information about used memory?


Details specific to my own problem: Since upgrading to Windows 8.1, The problem occurs as soon as I log in. I run out of memory as soon as I ran any program. I noticed in Process Explorer that several instances of iexplore.exe were running, apparently started automatically. One particular instance was only using a few MB of RAM, but showed hundreds of millions of page faults. On a whim, I killed that specific process, and memory usage immediately dropped by 70%.


Leading to one specific question:



  • How could killing one process that supposedly only used a few MB free up several GB?


And a (presumably hard) bonus question:



  • Short of re-installing Windows, how might I avoid having to go through this every time I reboot my computer?

No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...