Page 1 of 1

Multiprocessor problem in Windows 2000 guest

Posted: 16. Jul 2009, 12:31
by marcus76
I am running a Fedora 11 host OS on an i7 processor based server. I am also running 1 Windows 2000 server guest OS for terminal services use.
Although the guest OS was a fresh install, on an older version of VirtualBox, I enabled ACPI ready for multi processor capability.

After upgrading to VirtualBox 3.0.2 I assigned 4 processors to the guest OS. After booting the guest OS, I changed the 'Computer' driver in the device manager to 'ACPI multiprocessor PC' from 'Advanced Configuration and Power Interface (ACPI) PC' as it would only see one processor.

After rebooting, the Windows 2000 server guest OS can see the 4 processors in the task manager and everything seemed to be working fine but, as soon as any users connected to the terminal server the CPU usage would ramp up to 100% and stay there. I could only get approx 4 users on before the the OS ground to a halt.

Whilst the guest OS CPU usage was at 100% I had a look at the CPU usage on the host OS using the process monitor. I noticed that none of the CPU's threads where showing more than 60-70% usage and would not go any higher.

If I put the guest OS back to running a single processor it works fine but the CPU usage tops out at 100% at a too high frequency, hence the change to 4 processors.

Has anyone got any idea's as to what else I could try or maybe found a fix for it?

Re: Multiprocessor problem in Windows 2000 guest

Posted: 16. Jul 2009, 13:42
by Sasquatch
Start with setting it to only use 2 cores, instead of all 4. After that, run Windows Update to see if there are any updates for your OS that could affect the multiprocessor kernel.

The last thing you can try if it didn't help, is to install a new VM as test with multi processor enabled from the start.

Re: Multiprocessor problem in Windows 2000 guest

Posted: 21. Jul 2009, 23:05
by mintra
Hi

I recommended to Marcus 76 that he use Virtualbox. I have had a lot of success with the different versions of Virtual Box and had no reason to think it would not suit this application.

They had two Windows 2000 Dell servers running Terminal servers for about 25 users each, these had 3Gb RAM and Xeon 3.06Ghz CPUs (497 on passmark benchmark) hence when one of these servers developed a fault, it seems to replace the Dell server with an i7 920 (5348 on passmark benchmark). The hard drives on this new server are WD velociraptor, which compare favourably with SCSI drives in performance terms, The VM has a disk of its own.

The result with VB 2.2 was high CPU usage within the Guest, currently V 3.02 has been configured with 2 CPUs and all the W2000 updates have been applied, it is waiting to be used tomorrow. Up to now the perception is that the i7/Vbox is less capable than the original Xeon.

Marcus is very concerned as currently the virtual machine has no load, yet two of the 8 listed CPUs in the Linux are at 100% load for the Virtualbox processor.

Why is this, is VB actually taking the real CPU or is this some anomoly of the CPU use reporting in Fedora, not entirely clear why it reports 8 CPUs.

Should we be worried.

Also it would be very painful to have to reinstall from scratch, as Marcus76 has done this as VMware convert did not convert the original machine. Why would a reinstall from scratch make a difference.

As a fall back we may need to move to VMware, this would require a conversion of the existing machine, am I right that the export to ovf should deal with this.

Thanks in adavance.

Re: Multiprocessor problem in Windows 2000 guest

Posted: 21. Jul 2009, 23:21
by Sasquatch
Reinstalling from scratch could benefit from the new hardware environment. The current one still has some drivers from the old system which could conflict or cause performance degradation.

That Fedora reports 8 CPUs is strange if it's a single quad core CPU. Does it have hyperthreading? As for the CPU use, it's known that Windows Guests can cause CPU abuse when it's idle. On my current system, when I let Windows XP run idle with no other VM on (doesn't matter if it's paused or not), I see one core under full load. As soon as I start a second VM, even if I pause it just at the boot splash, CPU usage goes back to normal and the VM is performing nicely again.
Using SMP can still be tricky, it's not perfect yet so you can get some strange behaviour on the Host, Guest or both. I don't have VM SMP capable hardware, so I can't test your situation myself.

Re: Multiprocessor problem in Windows 2000 guest

Posted: 21. Jul 2009, 23:24
by vbox4me2
There are a few things that can cause a high cpu load, mostly the wrong kernal, stick to one cpu for each vm.

Re: Multiprocessor problem in Windows 2000 guest

Posted: 22. Jul 2009, 00:26
by mintra
Thanks we will try a different kernel, in this case we are only running one virtual machine. I have read somewhere that terminal services may not be the best thing to virtualise, but the performance here is worse than I would expect.

Re: Multiprocessor problem in Windows 2000 guest

Posted: 22. Jul 2009, 11:10
by vbox4me2
You might consider vbox 2.08, I have excellent results with this version, even with w2k and w3k TS servers.