Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've noted recently that Windows 7 on my machine has been complaining about running out of memory and that I should close some programs. It would then usually point out a program I have running that does have a memory leak and has grown quite large. However, usually these programs start at 20MB of RAM usage and only after running the program between 12 to 24 hours do they grow to, at most, 200MB of RAM usage. I never have more than three of these programs running at the same time, so 600MB of RAM usage max I have ever seen from my running programs.

I am running Windows 7 x64 on a machine with 4GB of RAM. At first I actually forgot this and would just restart the programs when Windows complained, but now that I remembered, the fact that Windows is complaining about me using 600MB of RAM (under 2GB even if you include memory used by the OS itself) seemed odd. So I pulled up the system process window to look at my total memory usage from my processes and system processes that were listed. It added up to just over 700MB, so I was still confused. Then I went to the Resource Monitor and opened the Memory tab. There I think I found my answer. It noted that I was actually only using 33% of my RAM. However, on the Physical Memory resource allocation bar, the Modified section was up to 2.3GB, the Standby section was up to 540MB, the Free section was under 20MB, Cached memory was listed at 2.8GB and Available memory was listed at 550MB. (These values being slightly rounded, of course, as thy are constantly changing as I write this.)

So apparently Windows 7 is using more memory than I am. I did, at some point in the past, make some modifications to the installed Windows services menu but that was only to disable certain hosting services, since I didn't want to do any media sharing, to enable the Telnet client, and remove Internet Explorer, but it could be my fault. Is there any way to make Windows not do this or at least cache a lot less aggressively so I stop getting these "Low on Memory" notices?

share|improve this question
add comment

6 Answers

up vote 6 down vote accepted

The Standby memory is not a problem, it is considered "free" and will be reallocated at request - it just contains memory recently used, but now freed, by programs. However, if another program requests more memory than is "Free" the system should allocate from the Standby set seamlessly (since "standby" memory isn't really in use at the moment).

You excessive Modified memory is your problem because is cannot be reallocated easily. See here, it's likely to be caused by either a memory leak (which seems to correspond with you first paragraph - what programs are leaking?) or a page-file being too small (is you page file fixed size or deactivated?).

share|improve this answer
3  
As I noted in my comment for CJM's answer, I closed all my applications that were questionable (some indie PC games) and only have Task Manager, Resource Monitor, AVG, and Chrome running now but still have 1.6GB of modified memory. I do leave my computer on for days at a time, which matches the profile in the article you linked. However, a note on that web page was to look for a process with a large commit size. Currently that is a process from nSvcAppFlt.exe. It only has a working set size of 30MB but a commit size of 13.5GB. What gives? –  grg-n-sox Aug 9 '10 at 17:39
2  
That's the program that's leaking your memory. Also see social.answers.microsoft.com/Forums/en-US/w7performance/thread/…. Remove it and all should be well. –  akid Aug 9 '10 at 18:00
    
Thank you very much. Actually that is kind of nifty. So basically if I am noticing my RAM being eaten up, I can just go to my resource monitor, see if the Modified memory section is huge, and see what process has a large commit size and I find my memory leaking program? Definitely a nice diagnostic tool for Windows. –  grg-n-sox Aug 9 '10 at 18:27
    
Either disable or upgrade your Nvidia firewall software. –  David Schwartz Nov 5 '12 at 8:52
add comment

The SuperFetch pre-emptive caching is not your problem. Windows 7 will use as much spare memory as it can to pre-emptively cache what it thinks you are going to need next. If it gets it right, it saves you a bit of time and your applications appear quicker and more responsive.

If it guesses wrong, and you need some other data, Superfetch will release some of the memory it has, to enable you to load the data you really need. See: http://arstechnica.com/microsoft/news/2010/02/behind-the-windows-7-memory-usage-scaremongering.ars

If you are getting 'low memory' problems, it isn't going to be because of SuperFetch - as it will relinquish as much memory as necessary if applications demand it. You available memory (550MB) is what is being used by superfetch, so clearly you haven't ran out of memory yet. Even when you do use up all your RAM, your machine will fall back onto virtual memory, though you will want to avoid this because of the performance hit...

So it suggests you are 'low memory' problems are due to problems elsewhere - perhaps one of your leaking apps is consuming (and not relinquishing) other types of resources...

Either way, the solution is more likely to be found by tackling your buggy applications, than by messing about with SuperFetch...

share|improve this answer
    
I get that the Standby section of memory is part of cached memory, but I seriously have to doubt the problem is my programs. I just closed them all now so all I have running is AVG, Task Manager, Resource Monitor, and a single window of Chrome with 4 tabs. Only have 1042MB in use with 1417MB of Available memory, but I still have that huge chunk of Modified memory taking up 1633MB that the Task Manager is counting as used memory and giving me low memory notices. Is there a way to reduce the amount of Modified memory or just turn off the low memory notice? –  grg-n-sox Aug 9 '10 at 17:22
add comment

Since you don't think the issue is being caused by a program with a memory leak, the alternative would be to increase you page file size.

While the page file is not your main memory, it will allow the operating system to swap more data to the hard drive, and hopefully, stop the "out of memory" message. The only other option would be to remove the program associated with the process that has the huge 13GB foot print, though I have no idea what program would need to page that much memory, unless it was some high end PC game or 3D rendering software.

share|improve this answer
add comment

From my experience Standby memory creep is a real problem. For example, if I run Snagit in rolling-windows mode for a lengthy article there will be portions of the article that were not captured when running on only Standby memory. In any case, I find that my computer runs sluggish on Standby memory.

To solve the problem I use the memory optimizer out of the free Glary Utilities. My computer has 6 GIG of memory. When I first boot up I have about 2 GIG of In-Use memory, 2 GIG of Stand-by, and 2 GIG of what I call Free Free memory according to Windows' Resource Monitor. Within a half a day or so all my Free-Free memory would turn into Standby memory whether I was using the computer or not. Now I have Glary Utilities memory optimizer start up with Windows and can keep my computer running indefinitely having the full 2 GIG of Free-Free memory available.

Every time I sit down for another session I first double click the memory optimizer tray icon and do an optimize; asking for my original 2 GIG of Free-Free memory to be freed up. I can ask for more but that's the maximum it will free up regardless. It takes about 30 seconds for the optimizer to complete which is much less than that required for a re-boot. It has an auto-optimization mode but I haven't been able to figure out how to make it work.

share|improve this answer
add comment

To Solve this problem

Goto start-run-msconfig, then services and remove the tick from "Windows driver foundation". click ok and restart the machine.

Remember - Only above mentioned steps will solve this problem. If you have disabled from services.msc, Its still active at the time of booting the OS and it will block your memory.

To verify this use the tool

share|improve this answer
add comment

3 years later and MS have still not fixed their 64 bit memory manager in any version of windows :(

I would suggest you find out exactly what part of windows is using the RAM with an MS tool called RAMMap from http://technet.microsoft.com/en-au/sysinternals/ff700229.aspx

If it is a problem with too much MetaFile active memory you can use the powershell scripts I've written on

If it is with too much mapped files on standby then I don't have an answer for that, apart from periodically emptying the standby cache with a tool like RAMMap. Though once you do that, windows will then increase its disk reads to try and fill up the now free RAM, which makes that method a mediocre one at best.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.