Opened 16 years ago
Closed 13 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.
Change History (45)
by , 16 years ago
Attachment: | WinXP-2009-11-04-09-40-42.log added |
---|
comment:1 by , 15 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 , 15 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 , 15 years ago
Component: | other → guest smp |
---|
comment:6 by , 15 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:8 by , 15 years ago
Summary: | Problems with more than one CPU under Windows 2003 64 Bit → Problems with more than one CPU under Windows 2003 64 Bit -> retry with 3.1.4 |
---|---|
Version: | VirtualBox 3.0.10 → VirtualBox 3.1.2 |
Retry with 3.1.4. That version will include an important stability fix for SMP guests.
comment:9 by , 15 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 , 15 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:12 by , 15 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 , 15 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 , 15 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 , 15 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 , 15 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 , 15 years ago
Version: | VirtualBox 3.1.2 → VirtualBox 3.1.6 |
---|
Please attach a new log of of the SMP VM with 3.1.6 too.
comment:18 by , 15 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.
by , 15 years ago
Attachment: | WinXP2CoresSATA-2010-04-14-16-02-39.log added |
---|
comment:19 by , 15 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 , 15 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 , 15 years ago
The guest additions provide such a software optimization already. Without it you'd get 100% idle load.
comment:22 by , 15 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 , 15 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:25 by , 15 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 , 15 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 , 15 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 , 15 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 , 15 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 , 15 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:33 by , 15 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 , 15 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 , 15 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:37 by , 15 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 , 15 years ago
Attachment: | VBoxProfiling18102010.zip added |
---|
comment:38 by , 15 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
Virtual Box log file