The problem is that the guest OS boots extremely slowly. From the time the Power on button is pressed to when it goes to the Windows
desktop and all tray icons loaded, it takes 4 minutes. While in the guest, things feel very sluggish, menus and windows take a long time to open, buttons respond slowly, etc. The system is impossible to use interactively.
The exact same configuration on VirtualBox boots up in 35 seconds. The VM's for both VMware and Virtualbox are on the same Hard Drive so that eliminates hard drive as the bottleneck.
3 minute video demo showing comparison between VMware and VirtualBox.
http://www.youtube.com/watch?v=mLPgVxlw7m0
Note that 1 minute mark, VirtualBox has gone to Windows desktop already which VMware will not get to until 3 minute mark.
Note that there is no other virtual machines running other than the VMware and Virtualbox ones..
Host OS = Windows Server 2008 R2 Data-Center edition
Server has 4 CPU's (Opteron 8347 2.0Ghz), each with 4 cores (16 cores total)
8 GB of RAM
Guest OS = Windows XP 32-bit SP3
vCPU = 2 with 4 cores each (8 cores total)
1 GB of RAM
Guest OS was installed with everything at defaults. For VMware, used VMware's Easy Install. Nothing else significant running on the host. Host OS feels very responsive. Plain install without any Windows Updates; however the Guest Additions were installed.
Can someone tell me what could be the reason VMware is so slow?
Thank you for your help.
if this single VM is so mission critical - I would consider to ru it on a ESXi
ESXi scales way better than Workstation when many vCPUs are needed
you gave your VM 8 cores ???
no further questions
your VM will run way faster if you correct that and assign one or two cores only
in this case I would use 2 cores
According to VMware, the software supports 8 cores.
Quote: "Support for even more powerful virtual machines with 8 virtual processors (or 8 virtual cores) and 2 TB virtual disks."
I am confused. 8 cores is supposed to be faster than 1. I have 16 physical cores, the host is completely idle.
The reason for the 8 v-cores: It is for a very old application written for Microsoft .Net Framework 1.1 (from 2003), which has all sorts of problems in Windows 7 and 2008. The vendor has not released a new version and recommends VM as an official solution. So I set up the VM with XP as the Guest. The application is to serve a large number of users so I figure dedicate half the cores to it since the host OS won't be running much else at this time. The physical server was bought for this app so if I put 2 cores on the Guest and it doesn't run anything else, we would have wasted money with 14 cores on idle full time.
Thank you very much for the feedback!
virtual CPUs do not scale like physical ones
the more virtual CPUs a VM has the slower it gets - it is now up to you to find the best compromise.
XP will be fastest and most responsive with a single CPU - but that may not be enough for your app.
So you start with a small number - 2 in your case and test. If you find out the app needs more add CPUs - next step would be to use 4 and so on.
The boot time will be slower the more vCPUs you have - but in your case boot-time is not the test to decide how many CPUs you need
if this single VM is so mission critical - I would consider to ru it on a ESXi
ESXi scales way better than Workstation when many vCPUs are needed
Thank you, you have solved the problem and I marked this post Solved and your Answer the solution.
The problem is indeed caused by the number of v-cores. The more v-cores, the slower the "interactive" portion of Windows is. Boot time increased significantly as well from 1:28 (mm:ss) for 1 core, to 3:29 for 8 cores.
My original post mentioned that VirtualBox does not suffer from this problem which turned out to be untrue. Even though I set up 4 v-cores in VirtualBox, in actuality it was only using 1 in Windows. That is why it booted so much faster than VMware. In the case of 1-core though, VB was indeed faster with 43 sec boot time compared with VM-w at 1:28.
http://forums.virtualbox.org/viewtopic.php?f=6&t=39938
Your answer was appreciated.
I noticed that too - XP-VMs boot faster in VirtualBOX then in WS 7
Been playing around with this a bit more.... 2 vCPU's seem to be the sweet spot for Windows XP 32-bit as Guest; 4 is possible but 8 makes the Guest unusable.
Interestingly enough, this problem does not show up when the Guest OS is Ubuntu Desktop 64-bit. 2 versus 8, the boot up time to desktop is the same at 2 minutes 19 seconds, whereas with XP goes from 3 minutes to 8.
For my test: Using Ubuntu 10.10 Desktop Edition, 64-bit with all updates applied plus the Guest Additions.
In conclusion, when the guest OS is Ubuntu, adding more virtual cores improve boot speed in both VMware and Virtualbox. Even so, Virtualbox is much faster (by 1 minute).