Windows 8.1: Constant 'Low Memory' warnings with 5GB of free memory

Anonymous
2013-12-11T19:24:33+00:00

I'm getting these 'Low Memory' warnings constantly it's getting really annoying (like everything else in this OS).  I'm running Win8.1 64bit with 8GB of RAM, as soon as it passes 3GB of RAM used these warnings appear telling me to close various programs.  No 32bit processes are nearing their 2GB limit, the RAM's memtest indicates no issues.  How do I stop these warnings!?!

Windows for home | Previous Windows versions | Performance and system failures

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments
Answer accepted by question author
Anonymous
2014-01-06T06:26:05+00:00

Windows 8 reserves a % or 2gb whichever is smaller for the paging file by default, this is more than enough for most use-cases.

@Bob Eyster - you should read http://blogs.technet.com/b/markrussinovich/archive/2008/11/17/3155406.aspx

The issue has absolutely nothing to do with the paging file.  It's 2/3rds empty when getting this error.  What appears to be happening is that the initial 4gb, which is available for 32bit applications, is being used by the 64bit applications causing it to think it's going to run out of 32bit addressing space once it hits the 4gb limit.  In reality the 64bit applications should be pushed into the 2nd 4gb space to make room fro the 32bit applications.  Unfortunately this error message doesn't seem to recognize the difference between the two and reports the error erroneously.  Calculating just the 32bit apps they are using less than 2.3gb of addressing space with 64bit using the remaining 0.9gb.

Was this answer helpful?

20+ people found this answer helpful.
0 comments No comments

56 additional answers

Sort by: Newest
  1. Anonymous
    2014-04-14T14:37:09+00:00

    What you explained is EXACTLY that diagram - 2gb of system, 2gb of userspace split into 4k chunks some of which can reside in main memory some of which can reside in the paging file.

    What you didn't explain is how 1.2GB of 32bit addressed space can trigger a low memory error/buffer overflow/virtual call error given a system which has a full 4GB of main memoryfor 32bit another 4GB for 64bit) and a 12.5GB paging file.  Either the error is being triggered prematurely, windows is misreporting the amount of memory being used, or there's a bug in their "improved" virtual memory management.

    I would agree that it's some sort of memory leak in a driver if it were not for the fact that I've tested using multiple graphics drivers (for Win8.1) from different manufacturers and seen the error occur with a dozen different processes from Firefox to Lost Planet 2.  The only common elements are DirectX and Win8/8.1 - DX9 would have shown this sort of issue on Win7 long ago so what's left?  A new memory management system on an operating system that was rushed out the door and has numerous serious issues or jump on the "it's never Microsoft's fault" bandwagon?

    Can't explain it unless I saw a screen shot of your memory use, but from what you just said, it should not happen, unless something leaks memory until ram + pagefiles are full

    You have to have a driver leaking memory

    It's not the VMM system or you'd see 100,000 posts flooding the bet. 

    Best way is reproduce the error and monitor everything in rescource mon. Keep tabbing back from game to res mon and sort be commit and working set

    Something will come out on top. If it's a driver, then you will need a 3rd party utility

    ***a full 4GB of main memoryfor 32bit another 4GB for 64bit) and a 12.5GB paging file***

    that does make sense

    are you in 8.1 x64 with 4gb physical ram with 12.5gb page files or does windows say your comitt limit is 12.5gb? The second means 4gb ram plus 8.5gb in page files

    your mixing 4gb twice with 32 then 64gb so it's a tad confusing.

    Was this answer helpful?

    0 comments No comments
  2. Anonymous
    2014-04-14T05:42:55+00:00

    What you explained is EXACTLY that diagram - 2gb of system, 2gb of userspace split into 4k chunks some of which can reside in main memory some of which can reside in the paging file.

    What you didn't explain is how 1.2GB of 32bit addressed space can trigger a low memory error/buffer overflow/virtual call error given a system which has a full 4GB of main memoryfor 32bit another 4GB for 64bit) and a 12.5GB paging file.  Either the error is being triggered prematurely, windows is misreporting the amount of memory being used, or there's a bug in their "improved" virtual memory management.

    I would agree that it's some sort of memory leak in a driver if it were not for the fact that I've tested using multiple graphics drivers (for Win8.1) from different manufacturers and seen the error occur with a dozen different processes from Firefox to Lost Planet 2.  The only common elements are DirectX and Win8/8.1 - DX9 would have shown this sort of issue on Win7 long ago so what's left?  A new memory management system on an operating system that was rushed out the door and has numerous serious issues or jump on the "it's never Microsoft's fault" bandwagon?

    Was this answer helpful?

    0 comments No comments
  3. Anonymous
    2014-04-14T03:47:56+00:00

    You mean u DABBLE at windows and Linux programming. If you were a real, serious coder. I would not have to explain this. Plus the way windows handles memory is virtually identical to Linux , Unix and OS X....they all MUST virtualize the main memory, and they all must virtualize each proceeds. A real program would know all this, if they didn't, they couldn't code beyond a few VERY BASIC programs. The main difference between windows and unix mem management (Linux, OSX, etc) is the pagefile system

    http://msdn.microsoft.com/en-us/library/windows/hardware/hh439648%28v=vs.85%29.aspx

    is a GREAT resource. But again, you did not properly understand it. Give me a few mins to edit this post and I'll explain it

    the text before the first diagram is 100% correct. This is explained my post above to the other guy how memory works,,, go read my post. Then re read the first part of the msdn page

    the first picture

    2 64bit apps using 4k pages being mapped into the system virtual address space:

    Code must be contiguous and non fragmented - as far as a process is concerned.. And they ALWAYS are because their addresses and pages are VIRTUAL. When they get mapped to the system virtual address space (calling it SVAS from now on), they CAN be fragmented as the processes don't know what's happening outside if their world 

    now on to the memory use of each app. The page says the apps use 4k (4kilobyes) each...

    myapp has 2... It's using ONLY 8KB SVAS

    notepad has 3 .... it's only using 12KB SVAS

    The next part of text and pics talk about what I talked about above to the other guy. 4gb for 32bit (2gb usable)... And 128TB for a 64 bit app (8TB usable)....

    the last talks about paged and non paged pools and have nothing to do with the above.. To a point...

    its saying all user mode memory can be paged to disk.. This is all the code in the user mode areas of these little worlds

    32bit. Anything in the first 2gb of the virtual space 

    32bit large address aware... Anything in the first 4Gb

    64bit anything in the first 8TB

    niw that's dealing with PROCESS ADRESS SPACE...almost all process adress space will end up in the paged pool of SVAS... UNLESSS :) ... And the article doesn't say this,,, the process itself requests that certain pages map to the SVAS non paged pool...OR a user (or account) with proper permissions has the lock pages in memory permissions 

    VERY little data ends up in the non paged pool. Too much there and it can't be paged to disk, and yOU HAVE MAJOR ISSUES :). Mostly the non paged pool are drivers, parts of the os kernel, and stuff that's essential to respond fast. You can edit the registry (search for disablepagingexecutive). If set to 1, the entire kernel can NEVER be paged. It increases performance on systems with 16+GB ram. If set to 1 on systems with less ram, and no or small pagefiles, you can run out of memory as the kernel can be 5MB or as big as 3GB at times. 

    Actualy it IS a big deal I've coded for over 20yrs. I've learned all this...been to school for it.. Taken continuing education. I use it every day. I don't need to look at those pages you do

    thats the problem... Ppl look at tech write ups, interpret them wrong, then spread that misinformation. I'm not trying to be a jerk just to be in the "right" vs "wrong". I post on forums like this to fix misinformation. Usually I get flamed, yelled at, etc for a few days, then, most ppl get it..and some can't be helped

    i CAN help you with your out if memory issue if u will let me even if it us an intel bug driver, I can help you configure your system so you can use it despite the leak...unless..if the leak is into the non paged pool area, you're screwed as it can't be paged to disk ... Only options then:

    find a driver that doesn't leak

    go back to win 7 or 8 where the driver works

    ..... Or brung your system up to 16-32gb ram if it supports it

    but even then yiu could STILL get an out of memory error. 

    If a driver, or process is 32bit and leaks, it can only adress 2gb of its virtual adress space. If that runs out , you get an error and just that driver or process crashes. If it's a system critical driver...then the OS can go down, but in a 64bit os, you need 64bit drivers (for the most part)

    This is what REALLY confuses ppl on 32bit OSes with. 4gb ram and even 64bit OSes.  They run a 32bit app... That app either has a leak or is poorly coded and doesn't monitor it's memory use. The instant it tries to use more than 2gb, boom, out of mem error ...and the user is baffled. They have 4,8,16,32, or 64gb ram... How can they be out? :) they aren't they ran a non large address aware, 32bit program that tried to use more than 2gb memory

    Everquest 2 had this issue for years.... Set everything to max,and in 5-10mins.. Out of memory. I begged sony to recompile it with the large address aware switch so people 32bit. Windows using the /3gb switch could use 3gb for the game. Unfortunately doing that crashed 32bit windows as drivers expected to have 2gb.. And now had 1....on 64bit windows a 32bit app can use a full 4gb... So once Sony made that change, ppl with 64bit win could turn on every game option.

    Was this answer helpful?

    0 comments No comments
  4. Anonymous
    2014-04-14T03:39:43+00:00

    :

    https://technet.microsoft.com/dynimg/IC183868.gif

    You misread that pic cuz u don't know how big a 32bit page is 

    use your brain. You have at least 40-50 drivers and background executables. ALL WHITH THE SAME MAP IN THAT pic !! If it's 64bit app, each process would be 128Tb or 1024*128GB

    If things worked as u interpret that pic , no computer in the world would work 

    notice in main mem is says Process page 1? A page is 4KB process 1 has 4 pages and uses ONLY 16kb system ram

    Process 2 has 5 pages... And only uses 20kb system ram

    note: 64bit processes can have 4kb pages or opt for 2 or 4 MB pages

    Was this answer helpful?

    0 comments No comments