VMware Communities
Pickwick81
Contributor
Contributor

poor perfomance of virtualized Windows XP 32 Bit with ACPI kernel

Hello all,

I've recently bought Workstation 8 to virtualize a Windows XP 32 Bit with an installation of Borland Builder 5 to just compile a program of mine. The host is a Windows 7 64 Bit Ultimate with 4 GB RAM and a Core 2 Duo T7700 or something like that with 2,4 GHz. The virtual machine has 2 GB RAM assigned and I'm pretty sure that no swapping occurs.

The problem now is that compiling my application in the XP-guest is about 3 to 4 times slower than compiling it native. The XP-guest is doing nothing else, no running background services for virus scanning or stuf flike that. I tested with ACPI settings and found that whenever I use an ACPI enabled Kernel in the guest the perfomance is pretty poor. If I change the kernel to be a default, non ACPI-available kernel the perfomance is almost like compiling native. Of course I want ACPI in the guest because of the automatic shutdown and I hoped to give the guest both of my CPU cores. This does only work well if the guest uses an multicore, ACPI-aware kernel. But whenver ACPI is used in the guest, I'm stuck with poor performance.

I already searched the web and my problem is not a drifting clock, to fast or slow times or stuff like that, so setting the host cpu clock in VMWare didn't change anything. The host is configured to give maximum performance, too, within bios settings and Windows itself. What I recognized was, that if the XP-guest is ACPI-aware during compilation of my software the Windows kernel times in Task Manager fo guest and host are pretty high, while on native compilation and without ACPI in the guest the kernel times are pretty slow.

A collegue of mine did some testings with pretty much the same CPU on a Linux host using VMWare Server 2 and VirtualBox and had the same results. Wehenver ACPI is used in the guest the VM is much to slow. He also tested with ESXi 5 on another dedicated machine and the problem didn't occur there. With ACPI enabled in the guest and one or two virtual CPUs there was no poor perfomance.

Does anyone has an idea why this happens? I thought ACPI problems where solved during the years. Windows needs ACPI for more than one CPU, or the host will always have 100 CPU load, and I don't see why I should not be able to use automatic shutdown and stuf flike that.

0 Kudos
4 Replies
AWo
Immortal
Immortal

How many vCPU's ae assigned to the guest? How many cores does the host have exactly?

AWo

vExpert 2009/10/11 [:o]===[o:] [: ]o=o[ :] = Save forests! rent firewood! =
0 Kudos
Pickwick81
Contributor
Contributor

I've tested both with one and two vCPUs with 1 core each and all possibilities for the Windows HAL, MP-HAL with one vCPU, SP-HAL with one vCPU, MP-HAL with two vCPUs etc., and the host as one CPU with two Cores. As you asked, what I've not tested is 1 vCPU with two cores...

0 Kudos
AWo
Immortal
Immortal

You should give the lowest number of vCPU's to the guest, so start with one, and use the appropriate HAL Kernel, which should ba a single CPU kernel or one which can handel both, the a single or a multiprocessor machine. "ACPI Multiprocessor" should be fine.

http://support.microsoft.com/kb/309283/en-us

Check page number 10 (16): http://www.vmware.com/pdf/WS6_Performance_Tuning_and_Benchmarking.pdf

and that document: http://www.vmware.com/pdf/vsmp_best_practices.pdf

Maybe you need to add some patches regarding performance:

http://support.microsoft.com/kb/896256/en-us

AWo

vExpert 2009/10/11 [:o]===[o:] [: ]o=o[ :] = Save forests! rent firewood! =
0 Kudos
Pickwick81
Contributor
Contributor

I currently run the VM with only one vCPU and a ACPI Uniprocessor HAL, but the problem persits. Very high kernel times in the Task Manager, but can't see the reason. Even Sysinternals Process Explorer doesn't show abnormal high rate of interrupts or stuff like that, but there seem to be a lot of context switches between user and kernel space.

I've alredy read some of the PDFs, but they doesn't seem to fit: I have the correct HAL installed, don't have high CPU utilization in the host while the guest is idle, it is not a converted virtual machine, but created from scratch etc.

The MS-patch can't be installed either because it's for XP SP2 only and I have SP3 installed.

At least I know now, that ACPI  in itself shouldn't be a problem at all... 🙂

0 Kudos