Hello everyone!
I'm doing some tests with a Windows XP machine and there is something I do not understand.
As you can see in the following picture, I've assigned all 6 cores to a Windows XP vm (for the sake of the experiment) and, even though the CPU usage is 100% on the XP machine, on the Host machine (Windows 11), CPU usage is very low in comparison. Why is this?
Thank you for the clarification
edit: Judging by this screenshot, it seems that Windows XP is just using a single core (only 1 processor is showing in the dropdown menu), so this is a Windows XP issue I guess.
Edit: Here is the solution: viewtopic.php?p=546334#p546334
Also, if you want to change APIC mode (single core/multicore) on windows XP after installing, you can do it with this. I've tested it and it worked just fine.
[SOLVED] Windows XP Guest only using 1 CPU
[SOLVED] Windows XP Guest only using 1 CPU
Last edited by s1L3nCe on 12. Feb 2024, 14:11, edited 5 times in total.
-
- Site Moderator
- Posts: 20945
- Joined: 30. Dec 2009, 20:14
- Primary OS: MS Windows 10
- VBox Version: PUEL
- Guest OSses: Windows, Linux
Re: Windows XP Guest CPU Usage
Pictures should be posted using the forum's Attachments tab. Crop & resize as needed.
If XP was installed on one processor, it will not respond to more processors being added.
XP uses different HALs to handle single vs multiple processors. The HAL that matches the single vs multiple processors is chosen during installation of XP. The HAL will not change when you increase processors from 1 after install.
There is a way to change the HAL, see viewtopic.php?f=1&t=24823&start=15#p111502 but if the VM is new and has not been activated or much other app installation has happened, it may be easier to start over with 2 or more processors in the VM, to get the multi-processor HAL.
If XP was installed on one processor, it will not respond to more processors being added.
XP uses different HALs to handle single vs multiple processors. The HAL that matches the single vs multiple processors is chosen during installation of XP. The HAL will not change when you increase processors from 1 after install.
There is a way to change the HAL, see viewtopic.php?f=1&t=24823&start=15#p111502 but if the VM is new and has not been activated or much other app installation has happened, it may be easier to start over with 2 or more processors in the VM, to get the multi-processor HAL.
Re: Windows XP Guest CPU Usage
scottgus1 wrote: ↑11. Feb 2024, 19:06 If XP was installed on one processor, it will not respond to more processors being added.
XP uses different HALs to handle single vs multiple processors. The HAL that matches the single vs multiple processors is chosen during installation of XP. The HAL will not change when you increase processors from 1 after install.
I've just realised what's the issue. As you said, this Windows XP vm was originally installed on a VM configured as single core. The reason for this was that I realised that as soon as I enabled I/O APIC, Windows XP installation was excruciatingly slow. I've tried APIC enabled with 2 CPU and 1 CPU and the issue is the same. I've screencaptured the whole test, to show you exactly what I mean: https://streamable.com/q8ownt
My host PC is an AMD 5600X with 32 GB of DDR4 RAM.
PS: I tried posting the picture from before using the img function but it did not work for some reason. I'll try again.
edit: I just tried again using the built in function. It doesn't work. Maybe is because my account is kind of new.
Re: Windows XP Guest CPU Usage
I fixed it! I did the first 3 steps of this guide and the problem was solved.
https://kdrozd.pl/slow-virtualbox-virtual-machine/
The turtle icon was the giveaway
Here is a repost of the steps:
1. Disable Incompatible Windows Features
Go to Turn Windows features on or off - you can search that from start menu, or find it in Control Panel.
Disable (untick) following services:
- Containers
- Guarded Host
- Hyper-V
- Virtual Machine Platform
- Windows Hypervisor Platform
- Windows Sandbox
- Windows Subsystem for Linux
2. Disable Hypervisor
Start Command Prompt as administrator and run:
3. Disable Device Guard
Start Edit group policy - gpedit
Go to Local Computer Policy > Computer Configuration > Administrative Templates > System
Click on Device Guard
Set Turn On Virtualization Based Security to state Disabled
Edit Group Policy
Close Group Policy Editor
---------------
Reboot and you are done. There are a few more steps in the website but those are the ones I needed to make it work.
https://kdrozd.pl/slow-virtualbox-virtual-machine/
The turtle icon was the giveaway
Here is a repost of the steps:
1. Disable Incompatible Windows Features
Go to Turn Windows features on or off - you can search that from start menu, or find it in Control Panel.
Disable (untick) following services:
- Containers
- Guarded Host
- Hyper-V
- Virtual Machine Platform
- Windows Hypervisor Platform
- Windows Sandbox
- Windows Subsystem for Linux
2. Disable Hypervisor
Start Command Prompt as administrator and run:
Code: Select all
bcdedit /set hypervisorlaunchtype off
3. Disable Device Guard
Start Edit group policy - gpedit
Go to Local Computer Policy > Computer Configuration > Administrative Templates > System
Click on Device Guard
Set Turn On Virtualization Based Security to state Disabled
Edit Group Policy
Close Group Policy Editor
---------------
Reboot and you are done. There are a few more steps in the website but those are the ones I needed to make it work.