VMware Communities
jesnyder
Contributor
Contributor

Difficulties Running 2 Virtual Machines

I'm struggling with performance when running two virtual machines at once. Information on the host and guests are as follows:

Host: WinXP Pro 64 bit SP2 x64, Q6700 (Core 2 Quad), 8GB RAM

Guest1: Win Server 2003 Enterprise SP2, 2 CPU

Guest2: Win Server 2008 Enterprise R2, 2 CPU

It seems like I should be able to run each guest with 3GB without any problems. If memory preferences are set to "Allow some virtual machine memory to be swapped" I can get both VM's up and running, but there are serious CPU issues with whichever I start second. For example, just bringing up Task Manager will spin one CPU in the guest to 100% with the taskmgr.exe process, while the CPU in the other machine remains idle and responsive. If I shut down the machine that was started first, the second machine will then become responsive as normal.

If I set memory preferences to "Fit all virtual machine memory into reserved host RAM" then I can only start both machines if I start the 2003 machine first, and the total RAM allocated to both machines together can't total more than 2.8 GB.

I've tried playing around with trimming and other settings to no avail. Any suggestions would be much appreciated.

Reply
0 Kudos
12 Replies
jesnyder
Contributor
Contributor

Also a couple of other items for clarification - VMWare Workstation 7.1.0 build-261024 and I have reserved memory set to 7315MB.

Reply
0 Kudos
WoodyZ
Immortal
Immortal

Drop the RAM to 2 GB and the vCPU to 1 on each VM and you'll get better performance.

Reply
0 Kudos
RenatoRodrigues
Contributor
Contributor

Having struggled with similar issues and having done a lot of experimenting, I've learned not to rely on any memory swapping at all because it's painfully slow.

I've also learned to calculate explicit RAM (no swaping) for each machine by reserving at least 2G for the host OS regardless of what the host's task manager is telling me about RAM availability, and then splitting what's left among the other two machines.

I've also learned not to modify the priority settings from their defaults of "Input grabbed=Normal/Default" and "Input ungrabbed=Normal/Default" In both places respectively ("Normal" in Edit>Preferences>Priority/"Default" in VM>Options>Advanced Settings) even though I would intuitively think that assigning a higher priority to the guest might render better performance of the guest but in fact it seems to slow down the VM Engine's ability to manage performance among multiple guests.

I've also learned that host physical disk IO is a major factor here, In fact it's the the biggest factor by far. I'm on a laptop with only one disk so I can't fix this but if you're on a desktop with the ability to add physical disks, I recommend that you run each machine's disk file on separate phisical disks. Better still, use the separate physical disks directly instead of virtual disk files.

I hope this is helpful.

Cheers,

Renato

Reply
0 Kudos
jesnyder
Contributor
Contributor

WoodyZ, RenatoRodrigues,

Thanks for the input. Unfortunately the issue persists. I wouldn't describe this as a performance issue - there is something more fundamental.

WoodyZ - I've had both machines configured for just 2GB RAM throughout my testing. Per your suggestion I've changed both machines to 1 CPU, but the core issue persists. Having only one CPU configured really just exacerbates the problem and the second machine that I start takes about 30 minutes to boot to a logon screen.

RenatoRodrigues - All good info, thanks. As far as RAM is concerned, I'd like to get everything configured as you suggest and split the 8GB into 2 for the host and 3 for each machine - for now I can't even get the machines to act correctly with 2GB/machine. "Input grabbed" and "Input ungrabbed" are set to Normal/Default for both machines. As far as disk is concerned, much of the time disk I/O is idle while the CPU is pegged; this seems to be something unrelated to disk.

Thanks - I appreciate any other suggestions as I try to work through this...

Reply
0 Kudos
RenatoRodrigues
Contributor
Contributor

Hmmm. The Q6700 has a great spec profile and it does have native Virtualization so I'm as puzzled as you are but here are some of my additional thoughts.

Since my CPU is a T9300 dual core which also has native Virtualization, at one time I decided to set the "Virtualization Engine Preferred mode:" setting explicitly to "Intel VT-x or AMD-V" instead of the default setting of "Automatic" but I did notice that it caused a substantial performance impact for some reason so I set it back to "Automatic" which improved performance. However, I did not ever experiment with disabling "accelleration for binary translation" so I'm wondering if you have tried any of that.

Another related thought is the fact that Vista and Windows 7 have a completely different memory management model from that of XP and I know that WM Workstation 7.x takes advantage of the newer memory management model of Vista and 7 as a means to improve performance of VMs, so, since you're using XP in the host machine, I wonder if that may be a factor here.

Good luck,

Renato

Reply
0 Kudos
Scissor
Virtuoso
Virtuoso

Please attach the vmware.log from the directory containing one of your slow Guests.

Are you running any CPU intensive tasks on your Host? (SETI@Home, etc?)

Reply
0 Kudos
jesnyder
Contributor
Contributor

Well, this definitely seems to be memory related. I'm kind of surprised I hadn't tried this before, but recently I simply tried starting one machine at 4GB with "Fit all virtual machine memory into reserved host RAM" and it wouldn't start without wanting to reduce it to2952 MB. Previously I had one machine set to 5GB but preferences were set to "Allow some virtual memory..."

This seems strange to me - Reserved memory is set to 7315 MB but it seems like VMWare is treating it like it can only find memory below 4GB. There is nothing running on this machine other than VMWare Workstation and a few minimal services like a VNC server, etc.

vmware.log is attached - I could definitely use some help deciphering what Workstation is doing regarding memory...

Reply
0 Kudos
RenatoRodrigues
Contributor
Contributor

J,

Without doing some additional research to refresh my memory (no pun intended), I have to admit that I'm purely speculating at this point but I seem to recall that XP had some memory addressing issues beyond approximately 3Gig, even XP x64, but it was a while back that I had heard about this and I never used XP x64. When I upgraded my hardware, I went directly from XP x32 to Windows 7 x64. I even skipped the "Vista era".

Have you been keeping up with your Microsoft Updates on the XP x64 host? I agree with you that it all smells like a memory issue. I wish I could replicate your scenario here, since I do have multiple Microsoft Windows licenses including XP x64 to test with, but my hardware is limited to 4GB RAM. If you should ever decide to upgrade/migrate your host machine to Windows 7, please let me know if that fixes the issue because I'm curious. I happen to believe that it will. You have a pretty sweet hardware rig there to work with.

Someone in a previous post requested troubleshooting log data from you. Have you submitted that and has anybody gotten back to you?

Renato

Reply
0 Kudos
Scissor
Virtuoso
Virtuoso

Well, this definitely seems to be memory related. I'm kind of surprised I hadn't tried this before, but recently I simply tried starting one machine at 4GB with "Fit all virtual machine memory into reserved host RAM" and it wouldn't start without wanting to reduce it to2952 MB. Previously I had one machine set to 5GB but preferences were set to "Allow some virtual memory..."

This seems strange to me - Reserved memory is set to 7315 MB but it seems like VMWare is treating it like it can only find memory below 4GB. There is nothing running on this machine other than VMWare Workstation and a few minimal services like a VNC server, etc.

The reply by KSC in this thread helps explain the "Allow some virtual memory..." option.

http://communities.vmware.com/message/1572745#1572745

Reply
0 Kudos
jesnyder
Contributor
Contributor

Thanks Scissor, but as I understand those settings I don't think that really explains this issue. The machine has 8GB, of which over 7.3GB is allowed for VM use. I can't even start a single machine that is configured for 4GB - I'm quite undercommitted and it shouldn't need to swap anything; it should be able to reserve everything it needs on startup. Unless I'm really misunderstanding something...

Reply
0 Kudos
Scissor
Virtuoso
Virtuoso

Win XP x64 is just a "consumer" version of Windows 2003 x64 (they even share the same Service Packs), so it should provide a great Host platform for VMware Workstation.

A couple of thoughts/hunches:

- Does your Host's Task Manager recognize all of your installed RAM? I had an older system that wouldn't recognize any installed RAM above 4 GB until I made a change in the BIOS.

- Check for updated Device drivers for all of your installed devices, especially for any Video Cards. (older device drivers can be buggy and unnecessarily "reserve" too much RAM for themselves). If you have a high-end Video Card installed, try (temporarily) changing to the Standard VGA driver to see if it makes a difference.

- What AntiVirus do you have installed on your Host? Some AV products can conflict with virtulization products.

Reply
0 Kudos
Scissor
Virtuoso
Virtuoso

I've had both machines configured for just 2GB RAM throughout my testing. Per your suggestion I've changed both machines to 1 CPU, but the core issue persists. Having only one CPU configured really just exacerbates the problem and the second machine that I start takes about 30 minutes to boot to a logon screen.

Can you confirm that configuring both Guests to use 1 GB RAM and 1 CPU at least allows both machines to boot in less time than 30 minutes? Please also boot them one after another (not both at the same time).

Reply
0 Kudos