Hello,
Have an old virtual guest XP install that originally was configured to use 4 cores of a 6-core amd thuban system. Did an update of virtual box recently and noticed that performance slowed to a crawl. Did clean install to latest virtual box 5.0.16 and guest barely ran, while 'kernel time' graph in taskmgr was nearly maxed out. Removed 5.0.16 and several tests later am using 4.0.12 now, with only one core active in guest and it runs with some delay, still maxing out kernel time on what used to be simple tasks (playing a youtube vid in ff, for example). Idling shows 9% kernel time in guest taskmgr. Adding cores actually slows down guest. Meantime, have a Windows 7 guest configured for two cores that runs without any of these issues.
Could someone guide me to a version of virtual box and configuration compatible with a multi-core xp 32-bit guest? Thank you.
HOST
Windows 7 SP 1 Pro 64-bit
AMD Phenom II X6 1100T 3.31 GHz
16 GB RAM
AMD Radeon HD 6870
Marvell Yukon 88E8059 PCI-E Gigabit Ethernet
NEC Electronics USB 3.0 Host Controller / Root Hub
PROBLEM GUEST
Windows XP SP 3 32-bit
4 GB RAM, paging off
XP performance
XP performance
- Attachments
-
- w7-2016-03-07-10-20-38.7z
- w7 guest for comparison
- (13.51 KiB) Downloaded 5 times
-
- xp-2016-03-07-09-53-23.7z
- problem guest
- (12.37 KiB) Downloaded 6 times
-
mpack
- Site Moderator
- Posts: 39134
- Joined: 4. Sep 2008, 17:09
- Primary OS: MS Windows 10
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Mostly XP
Re: XP performance
Can you clarify what this means? Do you mean that you uninstalled and then installed 5.0.16, or do you mean that you reinstalled the XP guest?skew wrote:Did clean install to latest virtual box 5.0.16
Re: XP performance
Uninstalled 4.xx virtualbox from host and installed version 5.0.16 along with its extension pack.Can you clarify what this means?
Also, removed from host: unused openvpn install, microsoft essentials, samsung kies, mangodb. It is running a copy of virtualclonedrive, can remove if it is a known problem. I've also switched a number of host services from automatic to manual startup: doubt virtual box needs any of them though, since it hasn't caused a problem with the W7 guest.
-
michaln
- Oracle Corporation
- Posts: 2973
- Joined: 19. Dec 2007, 15:45
- Primary OS: MS Windows 7
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Any and all
- Contact:
Re: XP performance
32-bit XP guest + APIC + AMD host = suckage. No problem with 64-bit Windows, no problem with single VCPU, no problem with newer Windows versions, no problem on Intel CPUs except the very oldest VT-x implementations.
As far as I know, the behavior of VirtualBox has not changed. If you can find a VirtualBox version that performs significantly better in this same setup, I'd be interested. I don't think there is one.
As far as I know, the behavior of VirtualBox has not changed. If you can find a VirtualBox version that performs significantly better in this same setup, I'd be interested. I don't think there is one.
Re: XP performance
Thanks for the information. I did some digging around and ran across this interesting document and driver.
http://developer.amd.com/wordpress/medi ... ration.pdf
"
Tried installing this driver in the problem guest, but it would just lock up after copying to system32. After reboot, shows up as "Unknown Device" under System devices in Device Manager, otherwise doesn't seem to have any noticeable effect.
Created a new 32-bit xp sp3 guest from scratch and so far it runs much better than the problem one. While installing things I'll keep an eye on performance and see what, if anything, may have brought about the degradation on the old guest.
http://developer.amd.com/wordpress/medi ... ration.pdf
"
"APIC TPR Optimization
32-bit Windows XP, Windows 2000, and 32-bit Windows Server 2003 before SP2 frequently access the APIC’s Task Priority Register (TPR). APIC registers are mapped into the memory address space of the (virtual) processor and therefore need rather expensive pagefault-style hypervisor intervention to be virtualized.
© 2010 Advanced Micro Devices, Inc. All rights reserved. 7
To help virtualization, AMD added the CR8 register as an alternative way of manipulating the TPR, in long mode as well as in 32-bit compatibility and legacy mode. However, there has been no adoption of the CR8 method by 32-bit OSes. Intel added the FlexPriority feature that provides a 4-kB region in the guest physical address space with special semantics for APIC registers such as the TPR. No compatible feature is available on AMD processors today. The AMD-V™ Optimization Driver (11) paravirtualizes TPR accesses for the OSes in question by replacing memory-mapped TPR accesses with accesses to CR8 and does not require support from the hypervisor.
Unfortunately, only AMD processors support the encoding LOCK MOV CR0 to access CR8 in legacy mode. Therefore, a guest with the AMD-V Optimization Driver loaded would fail when migrated to an Intel processor.
(11) http://sourceforge.net/projects/amdvopt/
Tried installing this driver in the problem guest, but it would just lock up after copying to system32. After reboot, shows up as "Unknown Device" under System devices in Device Manager, otherwise doesn't seem to have any noticeable effect.
Created a new 32-bit xp sp3 guest from scratch and so far it runs much better than the problem one. While installing things I'll keep an eye on performance and see what, if anything, may have brought about the degradation on the old guest.
Guess I got lucky with the combo. Built the host in spring 2011 specifically for virtualization and installed virtualbox on it, never really had many problems for most purposes (queryperformancecounter notwithstanding). Digging through downloads sections that would be around version 4.0.4. Whichever it was, it worked well with the 6 core phenom ii. The only phenomenon that drove me away from virtualbox on other hosts were random bursts of time where guest apps would not receive any timeslice for what could end up being hundreds of milliseconds.michaln wrote:32-bit XP guest + APIC + AMD host = suckage. No problem with 64-bit Windows, no problem with single VCPU, no problem with newer Windows versions, no problem on Intel CPUs except the very oldest VT-x implementations. As far as I know, the behavior of VirtualBox has not changed. If you can find a VirtualBox version that performs significantly better in this same setup, I'd be interested. I don't think there is one.
-
michaln
- Oracle Corporation
- Posts: 2973
- Joined: 19. Dec 2007, 15:45
- Primary OS: MS Windows 7
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Any and all
- Contact:
Re: XP performance
Just to get this straight... your old guest performed well at some point many years ago, but it perhaps wasn't quite the same. It was not possible to install the AMD "fixup" driver. And yes, TPR is exactly the problem, Intel has a relatively complex hardware solution while AMD made a small change which requires the guest to be modified. And at that point, Microsoft was not willing to fix Windows XP anymore, even though Server 2003 SP2 and all later versions were modified (taking a completely different approach which for the most part does not even access the TPR in hardware at all).
You say a freshly installed VM works well. Is that also using APIC/SMP?
As for scheduling, VirtualBox VMs are scheduled by the host OS like normal applications. Standard OS priority rules apply.
You say a freshly installed VM works well. Is that also using APIC/SMP?
As for scheduling, VirtualBox VMs are scheduled by the host OS like normal applications. Standard OS priority rules apply.