13

I have been feeling this way for a while, looking at task manager mentally ballparking how much physical memory should be in use, and noticing a large disparity. I finally got around to measuring it. Taking the results of tasklist and adding, gave about 3.87 GB. Task manager told me I was using 4.6 GB of memory. This seems like a large disparity. Where did it go?

EDIT: So its clear, it is not going to prefetch. It has also been suggested that its part of the OS, but not part of any of the system processes. If this is true, please find a way to get the OS to tell me how much memory is getting used. Since I want to find out where the memory went, asking me to look at the difference does nothing for me.

EDIT 2: It is not the following:

  1. The kernel
  2. The cache
  3. Hardware reserved memory

Picture of resources taken up. Not quite sure what it will do but... enter image description here

soandos
  • 24,404
  • 28
  • 103
  • 134

9 Answers9

8

Windows 7 uses 'unused' memory to precache things to make things run faster. Should you need this memory, it'll get freed up.

Its a feature, not a bug ;)

From technet

After you’ve used a Windows Vista system a while, you’ll see a low number for the Free Physical Memory counter on Task Manager’s Performance page. That’s because SuperFetch and standard Windows caching make use of all available physical memory to cache disk data. For example, when you first boot, if you immediately run Task Manager you should notice the Free Memory value decreasing as Cached Memory number rises. Or, if you run a memory-hungry program and then exit it (any of the freeware “RAM optimizers” that allocate large amounts of memory and then release the memory will work), or just copy a very large file, the Free number will rise and the Physical Memory Usage graph will drop as the system reclaims the deallocated memory. Over time, however, SuperFetch repopulates the cache with the data that was forced out of memory, so the Cached number will rise and the Free number will decline.

Journeyman Geek
  • 129,178
  • 1
  • so why is that not listed under the memory for that process?
  • how do I know that is the case here?
  • – soandos Jun 03 '11 at 01:59
  • i believe superfetch is under svchost. It MIGHT be counted as kernel memory. You can try turning superfetch on and off to check. – Journeyman Geek Jun 03 '11 at 02:05
  • It did nothing. – soandos Jun 03 '11 at 02:09
  • Memory used by Superfetch is on the Standby page list and is counted as part of "Available". It's not counted as "in use" because it can be repurposed (yanked out of the Standby list and put into a process) just like everything else on the Standby list, and everything on the Free and Zero list too. – Jamie Hanrahan Sep 27 '18 at 23:39