That's not true. XP shouldn't be able to cause Parallels to continuously use more memory over a limit. If something in XP is leaking memory, then when it has filled up the physical RAM you assigned to the VM, it will start swapping to its swap file which is stored in your VM image and will start filling up your VM image. Plus you'll get warnings from XP when you swap file is running low on space and needs expanding (this usually happens automatically unless you've fixed the size f the swap file in XP). So if Parallels is still constantly increasing memory and never stops then something in the app is still leaking. In 3120 with show live screenshot on, my VM has been up for 5.5 hours and under fairly heavy strain as I'm compiling quite large projects under Borland C++ Builder and Visual Studio 2005 and parallels is still only using 812Mb RAM. Given there is 16Mb VRAM assigned to the VM also, then I'm not going to start worrying about things until it gets to over 900MB. If it is still steadily increasing at that (sort of 100Mb over your VM memory size) then that probably indicates a leak somewhere. But your XP installation shouldn't be able to cause this. Cheers Russell
Unfortunately, I have always had "Show live screen shot" and "Show applications in dock" disabled. I still see between 0.04 and 0.06 MB of real memory growth per second, and my Parallels VM still crashes when being left on overnight. The memory growth happens even when no VM is running (when Parallels is first started up, before a VM configuration is even loaded into memory). The rate of growth doesn't seem to change when a VM is running. It stays pretty constant at 0.04-0.06MB/sec.
Turning ON Show Live screen has significantly helped me. Real memory usage on launch of a VM used to shoot up to about what the memory allocation to the VM was. Now, it only goes up to 90 MB on launch. It might still be climbing a tiny bit (and MallocDebug shows a tiny leak around the same place as the much larger leak this fixed), but I should be able to get full days out of multiple VMs before having an issue.
I do not have a memory leak problem but I just did something that was very interesting. I do not use a Boot Camp partition but just the normal Windows XP SP2 VM. I started up Parallels and started my VM as usual. I looked at the activity monitor and saw I had about 430MB or so of real memory and 2.3GB of virtual memory for the Parallels app. I then clicked the red close button on the top left hand side of the Parallels Window XP window and the window closed. I then started it up again from the Parallels green arrow button and now it only uses about 1/2 of the real memory I was using previously. I open a bunch of programs and it still does not climb as high as it did from a fresh start from a fresh launch of the Parallels program. Maybe people who are having a memory leak should try this. With your VM running click the red close button on the top left of the Parallels window and then restart your VM and see what happens?
I just looked at a couple of other things. When I use the start menu and the turn off computer button the winxp.mem file in my Parallels folder goes away when Windows shuts down. If I use the click the red close window button on the top left of the Parallels window when my VM is running I get another file in my Parallels folder that is winxp.sav. The winxp.mem file stays there as well. Then I restart my VM and the winxp.sav file goes away and the winxp.mem file is still there and my VM starts up again but uses a lot less real memory to run. I still do not have any memory leak problems.
It seems like it takes more real memory to create the winxp.mem file than to restart and run a VM from on that is already there.
It also looks like clicking the red close window button does the same thing as suspend virtual machine.
Definitely when I bring my VM back from suspended mode it uses much less real memory than starting the VM from launch.
I confirm the memory leak on a MBP Core2Duo with 1GB of DDR. When I load Parallels it takes around 200MB; then in starts taking up constantly with around 0.5MB/sec and it doesn't stop. Virtual memory starts form 2GB. i have disabled the dock preview but still the same.
You need to *enable* show live screen shot in dock to stop the memory leak related to that option, not disable it. Are you running 3120 also? Cheers Russell
I tried the enable live screen shot view option but I start getting random crashes instead. So I turn it back off and the random crashes stop. Weird... (I definitely try some memory leaks over random crashes)
Oh, I understood it the other way round. Well, I'm going to disable it and see what happens. Yes, I'm running the latest Beta. I just ordered another gig of RAM. Am I going to feel the difference in performance if I give XP 1GB instead of 512MB of RAM? Thanks.
Yes, but that's not what I claimed. The rate is now so low that it would take weeks to reach the limit at all, so I simply don't know if this is inside or outside the VM. I just see real memory getting allocated at a low, but seemingly constant rate, so this indicates a small leak somewhere. It might be Parallel's or XP's code causing that.
XP will only be able to cause memory usage to increase in OS X up to the limit you set when you assigned RAM to the VM. Plus the VRAM assigned to the VM. Then a little overhead from Parallels itselft (~50Mb according to Tim). So if you are seeing memory usage above this limit and still increasing, then it must be something leaking in Parallels. XP can't allocate memory outside what is given to it as a VM so it can't cause a leak in OS X. Cheers Russell
rhind said a clever thing. How could XP eat more RAM than you give it? I'm going to try and let XP open for a long time so I can see if he stops eating RAM when reaching its limit. Indeed, enabling live preview in the Dock seems to address this issue pretty well, although not completely. I'll come back with some more feedback.
I tried the suggested fix bit the memory still keeps leaking. It is leaking at the rate of 5 MB of real memory per second while XP is running. Pausing XP causes the memory leak to stop. And after resuming from pause, the leak slowed to about .4 MB per second, but after about a minute it picked up speed to about 5 MB per second again.