0

My Windows 10 host machine has 24 GB of memory, with 8 GB assigned to a 64-bit Windows 7 guest machine that is handled by VMWare Workstation 12 Player. The system info in the guest OS recognizes all 8 gigs properly.

However, I consistently get low memory warnings from the guest OS after I reach about 60% - 70% memory usage (according to the task manager). If I try to push past it, I get app crashes and stuff like that.

I had originally only had 4 gigs assigned, and was seeing these errors when I was getting above 90% memory usage, which seems correct. That's when I bumped up the VM settings to 8 gigs, but it's like the system acknowledges all 8 gigs and even reports the expected usage but it still somehow is still limited to 4 gigs.

I have a fixed 2-gig page file.

Any thoughts?

3
  • What are you doing with the guest? Is requiring this amount of memory for your workload even remotely reasonable or is it insane? Jan 10, 2017 at 18:41
  • And, by the way, your low memory warnings have nothing to do with usage of physical memory. The low memory warnings indicate that the operating system is running short of reservable backing store (commit limit). You can get them even with tons of free physical memory. (Just as you may have $10,000 in your account but be unable to write a $50 check because of other outstanding checks.) Jan 10, 2017 at 18:42
  • What happens if you increase the size of the page file?
    – Adam Wykes
    Jan 10, 2017 at 19:03

1 Answer 1

0

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:

  1. Reduce the commit charge by running less. This often isn't practical.
  2. Add more RAM. If RAM usage is high this would be a good idea. Otherwise it is just a waste.
  3. 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.

2
  • Agreed, the good thing to do would be to allocate more page file because the OS is trying to switch too much of the RAM content into the page file and it fails to do that.
    – Overmind
    Jan 11, 2017 at 8:47
  • I switched the pagefile back to being system-managed instead of a fixed file and have been working with that setup for a week without seeing the issue return, so that was it. Thanks!
    – jhilgeman
    Jan 31, 2017 at 13:17

You must log in to answer this question.

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