Things I have found out about this issue:
- Adding RAM does not fix it and has NOeffect.
- Increasing the Page File and/or Virtual memory does not fix it and has NOeffect
- Closing Chrome Browser tabs or other programs does not fix it and has NOeffect
- Disabling the Page File does not fix it and has NOeffect
What may be part of the issue:
- Memory Leaking programs (typically browsers of almost any distribution)
- Superfetch - While NOT the cause of the problem, may be exacerbating the issue due to the way its code is implemented. (I will explain later, Explanation #1)
Metal480AZ said something that got me thinking that what I posted and assumed before in overclocker.net forum about 'Out of memory' warnings to be more true which was, "It showed nearly 2GB of "available" memory but commit was maxed out. " (I will explain later, Explanation #2 )
The problem may possibly be Desktop Heap depletion.
I will just cut and paste what I posted on Overclocker
Possible FIX other than disabling the warnings:
There seams to be some discussion that I have found that effect systems from Vista onward ..... namely more so XP, Widow 7, and Window 8 as the NT familly tends to suffer more in some way. It is called the 'Desktop Heap' setting
To be clear, we are not talking about the desktop you see on your display monitor with all of the icons and task bar. Every service, handle, app, window ect. is assigned an individual desktop out of the Desktop Heap. Even services that run behind the
scenes that do not have UI windows.
Direct quote from MS KB947226
Every desktop object on the system has a desktop heap associated with it. The desktop object uses the heap to store menus, hooks, strings, and windows. The system allocates desktop heap from a system-wide 48-MB buffer. In addition to desktop heaps, printer, and font drivers also use this buffer.
Desktops are associated with window stations. A window station can contain zero or more desktops. The size of the desktop heap allocated for a desktop associated with a window station can be changed in the following registry value.
This got me thinking that even though there are many places on the web where you can read others saying that disabling the 'Superfetch' and its original predecessor, Prefetch in Windows does not do anything to improve or contribution to memory management
issues or problems but when these things (applications that you MAY use because you used them every day at the same time) are loaded by the OS's Superfetch to take full advantage of RAM and make using RAM more efficient, it contributes to Desktop Heap depletion
because all of thes things loaded will use its own portion of the Desktop Heap. There is only so much and is not Dynamic (something like 10MB or 20MB on earlier Widows) 48MB on current 64bit Windows. So when it is used up, the system says there is no more
addressing for virtual address space regardless of you having available memory.
Explanation #1
This may be why some report that 'Disableing' Superfetch has improved or fixed this issue as it free up more of this 'Desktop Heap' and leaves more headroom. I personally think that this is like someone (Microsoft) putting baby oil in your cars window
washer fluid reservoir (setting this Desktop Heap' at a predetermined number and designing Windows Memory Management to only use 75-80% and then redesign Prefetch to use more memory and Desktop Heap space loading more things in memory calling this improvement
'Superfetch) and then since every time you turn on the windshield washers it just smears (you get 'Out of Memory' warning with typical , average computing), you decide to rip off your wiper blades or disable you windshield wiper/washer switch (Disable Superfetch)
to gain a smear and streak free windshield (no more 'Out of Memory' warnings). But then you can't clean your windshield very easily (the joys and benefits of Superfetch don't work anymore) since you didn't eliminate, fix or in any way address the cause of
the issue ... like dumping and flushing the baby oil out of your windshield washer fluid reservoir.
Explanation #2
This also got me thinking that the the high commit may be one ways of seeing the effect of Desktop Heapdepletion. I am not sure at the moment if or how it would be all related
What I figured out and decided to do:
After going to many sites to figure out what it was, what it was used for and how best to adjust it I came to the conclusion (just yesterday) that I would try today to adjust the
Desktop Heap via the MSDN instructions found at, http://support.microsoft.com/kb/947246
What I did waschanged the 3rd value that was set by default in Windows at 768, and changed it to 1024. So far I havn't gotten any 'Out of memory' warnings but then I usually got them when I had 200, or close to 200 Chrome browser tabs open
or over 100 along with other applications. I only made this configuration change just 24 hrs before posting this. I will post back the more experience and results I get. I have noticed though that my 'Available' memory in TM is showing 1-1.5GB higher than
usual for the amount of open applications I have had open for the last 24 hrs.
Other supporting sites talking about this issue which I used are:
http://support.microsoft.com/kb/126962
http://blogs.msdn.com/b/ntdebugging/archive/2007/01/04/desktop-heap-overview.aspx
In this blogs.msdn URL there is a link to a video .... which actually takes you to another page where the real link is that I highly recomend that explains what Desktop Heap is in a consice, easy to understand way which I will post the link for your convenience
below.
http://channel9.msdn.com/Blogs/jeff_dailey/ntdebugging-blog-talk-about-on-desktop-heap