Windows 7 eats RAM with no indication on where it is/what's using it

0

0

I have a weird issue I've been strugling with for well over a year now...

I have 6GB RAM, but Windows works like it's more like 2GB. Windows reports that I have 6GB without problems, but right now for instance, if I sum the memory of all processes running, I get around 300MB of used RAM. Still, Windows claims I have used 73% of the physical RAM.

In other words, I only have 27% free of my 6GB, without ANY applications running (only small background apps/processes).

See this screenshot that explains the problem. In this case I have many apps running, but combined, they use less than 1GB memory. Stil, Windows reports that 96% of my memory is used, and behaves accordingly (apps crashing, memory warnings etc).

enter image description here

James Steven

Posted 2014-09-14T21:14:30.930

Reputation: 1

Question was closed 2014-09-15T19:57:44.137

Actually Windows needs to keep track of what program is using the memory, otherwise it would be just a bunch of bytes. It's the programmers at Microsoft that decided that the users didn't need to know how Windows did it's memory management (it's a little technical). – LDC3 – 2014-09-14T21:19:43.653

Chrome (and probably Opera) utilize a lot of memory for caching web pages (in case they need to re-display them using the back button). If you close Chrome and Opera and re-open the browsers, you will see you have a lot more free memory. – LDC3 – 2014-09-14T21:27:58.077

I want to point out that it's not a case of "Windows will make the RAM available when needed". Apps are crashing because of lack of RAM, I get Low memory messages by Windows, and I just had windows disable Aero, while the only application running is Opera, consumoing 450 MB RAM. – James Steven – 2014-09-14T21:41:19.900

@LDC3: I know web browser are consuming a lot of memory, but they don't consume more than shown in the Task manager? Usually the web browser use around 1GB. I sometimes play TF2, which consumes exactly 1GB as well. That leads to memory warnings, even though only total of 2GB RAM is used. – James Steven – 2014-09-14T21:42:27.493

Strange, I can recover at least 3/4 of the used memory when I close Chrome. – LDC3 – 2014-09-14T21:44:41.783

3

What does SysInternals RAMMap show? Also looking at the scroll bar you have a lot of things running each eating a chunk of RAM.

– Brian – 2014-09-14T22:55:17.783

@JamesSteven: fyi: http://dheera.net/projects/blur .. tldr: do not blur text, use a solid color.

– akira – 2014-09-15T05:05:21.507

Possible breakthrough: I closed every single (visible) applications, and memory usage was still 75%, and nothing in task manager used more than 20MB. I ended some non-windows processed (FYI, I know what all processes are, I don't have anything running without purpose), and suddenly Physical memory % went from 75% to 15% within 10 seconds. scvhost.exe was working during that, I think a VMWare service is the problem! (note: the vmware processes only used between 1-20MB according to process manager) – James Steven – 2014-09-15T18:55:54.183

I don't understand why this is marked as duplicate, when the answer in that question is "It's normal behaviour by Windows". To my knowledge making several GB's of memory completely unavailable to any applications, is not normal OS behaviour. I found the solution (but not the cause), but aparantly I can't post it because my post is duplicate. – James Steven – 2014-09-16T21:48:13.323

Answers

2

There are several things to say here...

  1. Just your first three processes show 1 GB total, so how you can claim that the entire list shows only about 1 GB combined, I don't know. (Hint: You can use PerfMon to get the totals of these counters without actually having to add anything.)

  2. You're looking only at the "Memory (Private working set)" column. That isn't all of the RAM used by each process. It does not include code, for example. Enable the "Working Set (Memory)" column to see these. However, a total of these will be misleadingly large as code (and many other) pages are shared among processes. Sysinternals RAMmap is your best tool for really learning what's using RAM.

  3. There's a lot of other RAM used by Windows that isn't part of any process, so it won't show up in that list. The RAMmap utility from sysinternals will show you where the rest of it is.

  4. Windows does not really have an error message for "running out of RAM". The message you're seeing has to do with running out of pagefile-backed virtual address space, i.e. the "ccommit charge" on your machine is too near the "commit limit." It appears that your commit limit is 8181, and commit charge is only about 200MB less than that. That's why you're getting "out of memory" errors, when things try to allocate this type of v.a.s.

  5. Also: RAM is 6135. Commit limit is RAM + pagefile size, so this suggests that your pagefile is only about 2000 MB. Increase it to at least 6000. This will allow more of the "private working set" of each process, including old stale stuff that doesn't really need to be kept in RAM, to be pushed out to disk. (Windows can only "make the RAM available when needed" if it has someplace to other than RAM to keep the old stale stuff .) See http://azius.com/blog/pagefile-yes1/ for more info.

  6. Please humor us and try closing your web browser(s) and report what happens to the "available" RAM. (That's the number you want, btw. "Free" doesn't have to be large.)

  7. Please use the SysInternals RAMmap tool. Screencap the "Use Counts" tab, and post the result. Make sure the result is readable.

Jamie Hanrahan

Posted 2014-09-14T21:14:30.930

Reputation: 19 777