8

I keep getting this annoying low memory warning/prompt to close games I play. It happens very often and I still have ~6 gigs of ram free. I disabled virtual memory because it was putting stuff on the pagefile when I had 10 gigs free ram so that spiked my disk usage.

Is there any way to disable this warning? I have 16GB ram so it shouldn't be an issue. I would prefer to keep pagefiles off because my HD is very loud so it's nice to keep it spun down as much as possible.

I don't want to disable it completely. Ideally, I would like it to go off when I have ~2GB left rather than 6, but if this isn't viable, I may just disable it completely.

2

3 Answers 3

5

To summarize Scott's answer, you're getting a low memory warning because, in effect, your system is actually running low on available memory due to the lack of virtual memory to absorb large memory requests. Programs may sometimes allocate large chunks of memory, without actually using it all at once.

There is likely no way to disable this warning, as it is built in to Windows. I wouldn't dismiss the possibility of there being some kind of registry hack around it, though.

Edit: This answer may be helpful.

4

Don't disable the pagefile. Set it to a min of 1024 and a max of 2048MB and and you wont get this message again.

6
2

Windows allows programs to request memory (Virtual Address Space) to be allocated to them even if they do not plan on doing anything with the memory. This allows the program to use the memory at a later point and they don't need to spend the extra time during a time critical portion of code to check it is available for use.

Windows does will not overcommit memory, so say you have 10MB of RAM and one program asks for 5MB (but only uses 2MB of it) and a 2nd program asks for 6MB. Windows will deny the request for the 2nd program because it can not guarantee if both programs wanted to use their full allotments that it the memory would be available to them.

If it did allow the requests to be made to allocate without enough space available it you would need to either crash the program that attempts to write to memory that it does not have space for or forcibly terminate another program to make space. (Linux does allow overcommiting of memory if you want to allow it via /proc/sys/vm/overcommit_memory and follows the "forcibly terminate another program" approach when it encounters a memory write it can not fulfill)

When you have a pagefile and a program asks for 5MB (but only uses 2MB of it) it puts those 2MB memory that it is actually using in to ram and the other 3MB are allocated on the pagefile. Because it is just a "allocation" and nothing was written or read from it yet no IO performed and the speed of the drive does not matter. Now when that 2nd program comes along and asks for 6MB there still is plenty of space left available for it to fulfill the request.

Now on to your situation. First of all, when you go to check on how much ram is being used are you checking "Working Set" or "Commit Size". "Working set" that would be that "only uses 2MB" we saw in the previous example, "Commit Size" would be the "5MB" requested you did above.

When you have no pagefile your sum total of "Commit Size" must be smaller that the total ram in the system, for systems with pagefiles your sum total of Commit Size can be up to the total ram in your system + the pagefile size.

I do not know if when you went to check the ram available if task manager displays the total of "Working Set" or if it will change over to the total of "Commit Size" when you don't have a page file, you may be been much closer to your limit than you think.

A 32 bit program can allocate up to 2GB of virtual address space and a 64 bit program can allocate up to 7 TB for itself. So any programs you open can quickly take up very large chunks of address space, being that windows is designed and has been tuned over many years to work with a page file I think giving the user a warning when you have reached 66% of your total capacity is very reasonable.

I know many people assume that they will get better performance without a pagefile, and this was true back in the era of Windows 98, but a lot of things have changed and memory management is much better now. You state in your question that you disabled the pagefile due to high disk use, how did you measure the disk usage and how do you know it was going to the pagefile? If you are getting very large amounts of IO when you still have lots of free ram that may be a indicator of a different issue which we may be able to help solve.

2
  • 2
    I know it goes to pagefile because it sounds like a hurricane when pagefile is enabled with constant writes to the disk. Also I didn't say 66%, I said 10 gigs free, which in my case, is 37% used. Also, I just started using arch instead. It's no longer used for gaming, and with the pagefile disabled, it works great as a silent server machine, and I hardly ever go above 6GB of ram used so I don't need a pagefile. Jan 9, 2014 at 18:02
  • And also, for SSD: while pagefiles may no longer be that much of a threat nowadays, systems with no HDD and plenty of RAM may still prefer having them disabled to spare some extra flash wear.
    – Sz.
    Dec 29, 2014 at 17:17

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .