I have an issue with the latest VM Ware version on Lion. It generally speaking behaves exactly like stated in the following article : VMware KB: Understanding memory allocation for VMware Fusion.
When suspending an active VM, the wired mem goes down and the active mem goes up in the same amount. When restarting the VM it starts in super speed as obviously the memory state is still in active pages cached in memory.
The issue now occurrs when quitting VM ware. Other than described the memory is *not* freed and active mem remains as high as it was before.
I created these snapshots using three different virtual machines:
I definitely checked that no existing process is consuming the active memory, I even checked with zprint that no kernel structure is holding that mem (see attached files). Using the same VM with multiple start/stop cycles, additional memory is not leaked - the active mem always seems to be reused, so Fusion obviously knows 'where it is'.
Now the questions:
Thank you in advance,
Same problem here; latest fusion and Lion releases. I have to either reboot or run a RAM optimizer upon exit. Very inconvenient; I hope they can resolve this issue soon. One of the reasons I switched from Windows to Mac was to get away from this foolishness.
How about simply going to activity monitor and hitting forced quit on the VMWare Fusion process. In fact why don't VMWare publish a knowledge base article on doing this. Wouldn it be because it's not recommended behavouir for quitting a program?
Surely there must be a setting in VMWare Fusion to stop this behavior? Giving the customers a choice. Out of interest, does anyone know if Parallels behaves like this. Is this type of thing standard practice across virtual machine manufactures.
Saying the above, my VMWare Fusion process has now gone but the active memory remains the same. Surely I should be able to see a process that is using the memory in activity monitor?
I wouldn't kill the processes from activity monitor, unless you plan to reboot before launching a VM again.
Memory leaks are a bane of every programmer. Firefox is notorious for leaking like a sieve - I've seen it take more than a gigabyte, and some other apps are nearly as bad. Safari and Chrome have leaks too (Safari is at 309MB at the moment).
What you're likely seeing is confusion between different memory types - wired/active/inactive/free, which don't necessarily map to the 'Real Mem' column in activity monitor. For example, my 16GB system shows 11GB 'used', of which 7 is inactive (i.e. can be taken for other uses) in activity monitor, yet if you add up all the numbers from the processes, it doesn't come close to 11GB.