Process out of memory (but RAM still available) – How to increase process memory cap?

Doing copy/paste in Visual Studio 2010 RTM on Windows 7, 3GB ram machine, I was unable to copy text because of an error:

Memory cap

Task Manager shows that devenv.exe is using a little more than 500MB. However I still have almost 1GB of free RAM available.

Is that somekind of memory cap? If so, is there a way to increase it? It may be a bug, but maybe there is a workaround?

Answer

This article explains that the problem is that each app on your machine will be allocated 4GB of address space – 2GB assigned to the app and a shared 2GB space assigned to the Kernel that all apps share.

Address space is only allocation in contiguous blocks, so if you need 1mb of space, it needs to find a contiguous 1mb space for you (as opposed to 2 500kb spaces). As you use this space, it becomes fragmented, and eventually you may find that there isn’t enough contiguous space for your needs – it hints that this is more likely to be in the kernel space than in your app space.

Your fragmentation errors are likely to be because something is requiring a contiguous amount of address space which is greater than the largest block available.

Solutions: Er… none that I know of, or that I’ve read about. You really need to try and identify the culprit(s). If it is a 3rd party app, don’t use it – if it is your application, make sure that when you use space you use it in smaller blocks, and make sure you don’t have any leakage.

Not very helpful, I realise…

Another useful article

Attribution
Source : Link , Question Author : Janis Veinbergs , Answer Author : CJM

Leave a Comment