VirtualBox

Opened 14 years ago

Closed 12 years ago

#5385 closed defect (fixed)

Problems with more than one CPU under Windows 2003 64 Bit -> retry with 3.1.4

Reported by: Samuel13 Owned by:
Component: guest smp Version: VirtualBox 3.1.6
Keywords: Cc:
Guest type: Windows Host type: Windows

Description

In the virtual machine (Windows XP SP3 32 Bit) I build a .NET solution. With more than one core I get strange internal compiler errors or sometimes a bluescreen after some minutes of building. With the same configuration but only one core the system works fine for hours. Also the same virtual disk image works fine when running with multiple cores on a Windows XP 32 Bit host.

My host configuration: Microsoft Windows Server 2003 R2, Standard x64 Edition Service Pack 2 4x Dual-Core AMD Opteron(tm) Processor 2218, 2.6 GHz, 4 GB RAM

Session log file, box configuration and minidump from the guest OS attached.

Attachments (5)

WinXP-2009-11-04-09-40-42.log (34.6 KB ) - added by Samuel13 14 years ago.
Virtual Box log file
WinXP.xml (8.3 KB ) - added by Samuel13 14 years ago.
Virtual box configuration
Mini110409-01.dmp.txt (88.0 KB ) - added by Samuel13 14 years ago.
Minidump from the guest OS
WinXP2CoresSATA-2010-04-14-16-02-39.log (39.4 KB ) - added by Samuel13 14 years ago.
VBoxProfiling18102010.zip (63.7 KB ) - added by Samuel13 14 years ago.

Download all attachments as: .zip

Change History (45)

by Samuel13, 14 years ago

Virtual Box log file

by Samuel13, 14 years ago

Attachment: WinXP.xml added

Virtual box configuration

by Samuel13, 14 years ago

Attachment: Mini110409-01.dmp.txt added

Minidump from the guest OS

comment:1 by Technologov, 14 years ago

Since Windows XP x64 and Windows Server 2003 x64 are based on the same kernel (NT 5.2), this bug may be related bug #4480

-Technologov

comment:2 by Maik van der Gaag, 14 years ago

The problem with multiple cpu's occur for what I have find out on almost every operating system of microsoft. Is this something that can be fixed?

comment:3 by Frank Mehnert, 14 years ago

Component: otherguest smp

comment:4 by Samuel13, 14 years ago

Also under Virtual Box 3.0.12

comment:5 by Samuel13, 14 years ago

also under Virtual Box 3.1.0

comment:6 by Ernst Gill, 14 years ago

Also not working under Windows 7 64 Bit with Virtual Box 3.0.12 and 3.1.0. If I use more then one processor for wathever guest it is not properly working. The guest stops suddently and takes a lot of host CPU time or some strange behavior is observed in the guest. For me it seems the 64 bit multiprocessor emulation is not usable. As far as I have this tested it is working for 32 bit guests.

comment:7 by Samuel13, 14 years ago

Also under 3.1.2

comment:8 by Sander van Leeuwen, 14 years ago

Summary: Problems with more than one CPU under Windows 2003 64 BitProblems with more than one CPU under Windows 2003 64 Bit -> retry with 3.1.4
Version: VirtualBox 3.0.10VirtualBox 3.1.2

Retry with 3.1.4. That version will include an important stability fix for SMP guests.

comment:9 by Sander van Leeuwen, 14 years ago

Please check if 3.1.4 beta 1 solves the problem: http://forums.virtualbox.org/viewtopic.php?f=15&t=27300

comment:10 by Samuel13, 14 years ago

Does not crash anymore with 3.1.4 BETA 1, running stable for more than 24 hours with 2 cores. But there is still a strange thing: Performance with 2 cores is less than with just one core! The same task takes factor 1.5 longer with two cores. On real machines the same task is much faster with multiple cores.

comment:11 by Sander van Leeuwen, 14 years ago

Can you be more specific?

comment:12 by Samuel13, 14 years ago

I use this virtual machine to build a .NET application. The build takes about 1h 15min in average with one core configured. With two cores configured (other settings exactly the same) the same build process takes about 1h45min. On real machines the build is much faster when more cores are available than with only one core. I also experimented with the setting Nested Paging, but no difference. Let me know if you need more details...

comment:13 by Samuel13, 14 years ago

Tested with 3.1.6, performance with two cores is still less than with one core. After some performance tests I found out that disk performance is divided by factor 2 when switching from one core to two cores... see http://forums.virtualbox.org/viewtopic.php?f=2&t=29899

comment:14 by Technologov, 14 years ago

I suggest trying "Passmark Performance Test". This great benchmark can show CPU UP/SMP, RAM I/O, and Disk I/O. Unfortunately it is for Windows guests only.

-Technologov, 14.4.2010.

comment:15 by Samuel13, 14 years ago

I was using this tool for my performance tests. The resulting benchmark showed this behaviour I mentioned in my previous post.

comment:16 by Sander van Leeuwen, 14 years ago

How do you compare to one core? Using the same VM with one CPU or another VM which was never installed using the smp windows kernel?

Did you install the guest additions?

comment:17 by Sander van Leeuwen, 14 years ago

Version: VirtualBox 3.1.2VirtualBox 3.1.6

Please attach a new log of of the SMP VM with 3.1.6 too.

comment:18 by Samuel13, 14 years ago

I did the performance tests in the same VM: I shutdown the VM and changed the number of cores...

Guest additions 3.1.6 were already installed before doing the tests.

Log file from current session with 2 cores and SATA controller is attached.

comment:19 by Sander van Leeuwen, 14 years ago

Here I get: (win7 64-bit host, core i7 3.2 ghz; nested paging disabled)

  • 1021 (Win XP 32 bits; 1 CPU)
  • 1421 (Win XP 32 bits; 2 CPUs)

I assume this is related to the hardware optimization Intel introduced for VT-x (in selected CPU models) for speeding up TPR APIC accesses for 32 bits Windows (2k & xp) guests.

We partly compensate with this in the guest additions, but it's not optimal. AMD has no such hardware solution.

If you can, you should update your guest to 32-bit Vista or Windows 7 or switch to any 64 bits Windows version.

comment:20 by Technologov, 14 years ago

sandervl73: KVM has a similar TPR software optimization in the hypervisor, without the need to install guest additions.

Maybe it's worth checking...

-Technologov

comment:21 by Sander van Leeuwen, 14 years ago

The guest additions provide such a software optimization already. Without it you'd get 100% idle load.

comment:22 by Samuel13, 14 years ago

I'm not sure which passmark benchmark values you posted? The CPU or disk results?

For CPU I got

  • 460 (1 CPU)
  • 858 (2 CPU)

but for disk I got

  • 822 (1 CPU / IDE), 529 (1 CPU / SATA)
  • 556 (2 CPU / IDE), 391 (2 CPU / SATA)

KVM is not a choice because it runs only on Linux hosts, isnt' it?

It seems that other users have this problem too, see http://forums.virtualbox.org/viewtopic.php?f=7&t=26611

comment:23 by Technologov, 14 years ago

Samuel13: yes, on Linux hosts only. But I told this to Sander, because some of it's code or ideas may be useful for VirtualBox too...

comment:24 by Sander van Leeuwen, 14 years ago

It's the overall score. Disk scores were pretty much identical. (IDE)

comment:25 by Samuel13, 14 years ago

Ok I see, my overall scores are not identical:

  • 1000 (1 CPU)
  • 600 (2 CPU)

What are the chances that this can be fixed? Or do I have to switch the guest OS (are you sure that this works in Vista or Windows 7)?

comment:26 by Sander van Leeuwen, 14 years ago

Individual scores:

  • CPU SMP: 2260 vs UNI: 978
  • DISK SMP: 1527 vs UNI: 1530
  • 2D SMP: 819 vs UNI: 723

I'll try it on an AMD machine too.

comment:27 by Sander van Leeuwen, 14 years ago

AMD (2x Opteron 2427; Vista 64):

  • CPU SMP: 1103 vs UNI: 588
  • DISK SMP: 567 vs UNI: 598
  • 2D SMP: 584 vs UNI: 656

comment:28 by Sander van Leeuwen, 14 years ago

In other words: I can't reproduce your observations.

Note that when you use snapshots the disk benchmark will be seriously affected if run after restoring a snapshot. (new diff image, so writes expand the disk image, which is slow)

comment:29 by Samuel13, 14 years ago

Did you try it with Windows XP 32 bit on the AMD system? In meantime I tested with a Windows 7 64 bit guest and there disk performance was about the same when running with two or one core...

I'm aware of the behaviour with snapshots, but should not affect disk reading tests.

What else can I do to help you to reproduce this behaviour?

comment:30 by Sander van Leeuwen, 14 years ago

Yes, with Win XP 32 bit on an Opteron system. Both my tests were with 512 MB guest ram. Haven't tried with 2 GB.

comment:31 by Sander van Leeuwen, 14 years ago

My XP isn't up-to-date though. SP3 might make a difference.

comment:32 by Samuel13, 14 years ago

Any news?

comment:33 by Samuel13, 14 years ago

Today I did some more testing with two cores: When I disable I/O APIC the disk performance is much better (passmark benchmark result):

  • 733 (2 CPU, IDE, No I/O APIC)
  • 556 (2 CPU, IDE, I/O APIC)
  • 822 (1 CPU, IDE, I/O APIC)

comment:34 by Samuel13, 14 years ago

I missed that the I/O APIC option gets enabled automatically when using more than one core, so my last comment is wrong... But the disk performance increased a little bit (don't know why) but in general still slower with two cores, I measured this also with my build in Visual Studio...

comment:35 by Sander van Leeuwen, 14 years ago

I could give you access to a profile build that will add more statistics to the VBox log file. That's the only way to get more information.

comment:36 by Samuel13, 14 years ago

Yes please

comment:37 by Sander van Leeuwen, 14 years ago

You can download the profile build here.

Best is to start the VM until you are are about to start your test. Take a snapshot, close the VM, then restart it and start your test. Please attach the VBox.log and log file created in the directory where you start the VM (date-time.log) after running the test for a few minutes and closing the VM again.

by Samuel13, 14 years ago

Attachment: VBoxProfiling18102010.zip added

comment:38 by Samuel13, 14 years ago

Thanks for the binaries and instructions. The log files are attached (VBoxProfiling18102010.zip), did a test with 1 CPU and another one with 2 CPUs

Executed the following steps:

  • Shutdown VM
  • Uninstalled Virtual Box 3.2.10
  • Installed Test Build
  • Took Snapshot
  • Started VM
  • Executed a small part of my buid process, running time = 8 min 08 sec
  • Shutdown VM
  • Set number of CPUs to 2 (did not change any other VM settings)
  • Started VM
  • Executed same small part of my buid process, running time = 8 min 42 sec
  • Shutdown VM
  • Uninstalled Profile build
  • Installed version 3.2.10 again
  • Deleted snapshot and restarted VMs


Remark: Did not reinstall the guest additions after installing the profile build

comment:39 by Frank Mehnert, 12 years ago

Still relevant with VBox 4.1.6?

comment:40 by Frank Mehnert, 12 years ago

Resolution: fixed
Status: newclosed

No response, closing.

Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use