A low memory warning means that the commit charge is approaching the commit limit. It has nothing to do with a shortage of available RAM. The warning can occur even when available memory is plentiful.
The commit limit is RAM size + pagefile size - a small overhead. The commit charge is not RAM usage, pagefile usage, or any combination of the two. It is a measurement of potential space required for temporary data storage. When an application or OS component allocates memory (actually virtual address space) the memory manager promises or commits that there will be storage available for the allocation. The storage may be in RAM or the pagefile at the discretion of the memory manager. The commit charge is the total of all such allocations. Initially no storage is reserved, in either RAM or the pagefile, just making sure that there will be adequate space available. Typically not all of this committed storage will be required, at least not at the same time. But Windows prefers to play it safe by never allowing the commit charge to exceed the commit limit, the storage space actually available.
There are 3 ways you can solve a low memory warning:
- Reduce the commit charge by running less. This often isn't practical.
- Add more RAM. If RAM usage is high this would be a good idea. Otherwise it is just a waste.
- Increase the size of the pagefile. This is usually the easiest and most cost effective solution. And as an adequately sized pagefile actually improves performance this is an added reason. It provides a location where the OS can offload rarely used data leaving more RAM for more important purposes.
In this case a 2 GB pagefile is clearly not adequate. If disk space is not an issue setting the pagefile to system managed would be a good idea. Don't be concerned that this will lead to continuous resizing of the pagefile or pagefile fragmentation. Neither situation is common and in most cases it doesn't happen at all.