Windows 7 / Page File Disabled / 12 GB RAM / 2+ GB RAM free and “your computer is running low on memory”

memorypagefilewindows 7

So I am running on Windows 7 (64-bit) Home Premium with 12 GB RAM (Intel Core i7 920).

I have restricted the Page File to 400MB since it was eating up a lot of space om my SSD (that is 80GB).

After that I sometimes get the "low memory"-warning, like this, except for the behold-comment:
Low memory warning in Windows 7

When I get those warning I have usually a lot of RAM available; when I check Resource Manager I have over 2GB "Free" and over 2GB "Available" – usually more than that.

The diskspace on all my drives have over 10GB free.

So the question is – why does Windows complain? It actually restarted by computer (hard boot) when it happened, and as I said – lots or RAM available.

Best Answer

Your problem is with Virtual Memory.

Applications ask windows to commit a certain amount of virtual memory to it. This does not mean the application will use all the memory committed, only that Windows promises to make it available if need be. When you look at memory usage only memory actually being used is show, not how much virtual memory has been committed to the process.

The commit limit of windows is RAM plus pagefile, because windows won't make a commitment it can't keep. So you have a commit limit of 12.4GB. Since committed virtual memory that isn't actually used does not occupy any physical space anywhere, applications aren't afraid to ask for large commitments. So it is quite common to have the virtual memory usage a lot larger than the actual memory usage.

As you I've shrunk my pagefile to make more room on my SSD. I set the initial size to 512, but the maximum size to 8GB, just so that windows can grow it if need be. Currently it is 1.4GB so the initial 8.5GB of virtual memory I had hasn't been quite enough.

You can also go hunting down the application that is using all the virtual memory. In task manager set it to show you the commit size of the running processes.

As an example: Catalyst Control Center has a Private Working Set (memory usage) on my machine of 3MB but a Commit Size of 112MB.