Windows 10 running like a dog

Discussions about using Windows guests in VirtualBox.
craig100
Posts: 76
Joined: 10. May 2009, 21:10
Primary OS: Linux other
VBox Version: PUEL
Guest OSses: Win10

Re: Windows 10 running like a dog

Post by craig100 »

michaln: I posted my log but haven't had any response to it yet. Am I starving the RAM or is it lack of 3D support on the GPU or possibly Video RAM? It would be great to fix if it were only RAM. The host has 16GB so plenty to spare. Not sure about the Nvidia drivers though.
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: Windows 10 running like a dog

Post by michaln »

craig100: It's not entirely clear to me if your problem is slow Windows in general or specifically graphics/3D. Your host should have enough horsepower and the VM isn't underprovisioned, unless Visual Studio in fact needs a lot more than 4GB.

There is indeed no 3D support which can have no noticeable effect or make things completely unusable. That all depends on what the guest is doing. Sadly, users just say "slow" and assume that it must be clear to everyone what exactly that means, because of course everyone has the same problem, right? Other than the missing 3D support, there's nothing in the VBox.log that indicates problems.

Is the Windows 10 guest slow in general? Or only specific applications? High CPU utilization in the guest? On the host? Preferably without dragging Visual Studio into it, unless that is in fact the only application which has trouble...
ak2766
Posts: 3
Joined: 12. Feb 2013, 12:02

Re: Windows 10 running like a dog

Post by ak2766 »

Hi there michaln.

If you can tell me what you'd like me to measure, I can assist.

I have a dual boot set up on my laptop - Ubuntu 15.10 and Windows 10. I mostly use Ubuntu as the host and a Windows 10 VM for MS Office related stuff. I have a laptop with 32GB RAM and I've allocated 8GB to the Win10 VM and it is quite slow to respond. I've at one time given it 16GB RAM but that did not help any!

So, to help us get to the root of the problem, I can assist as long as you can guide me on what you'd like measured!

Regards,
ak.
gnieboer
Posts: 3
Joined: 5. Apr 2016, 09:14

Re: Windows 10 running like a dog

Post by gnieboer »

I can confirm a very similar problem. Win10 64-bit Host running a Win10 64-bit Enterprise guest. System is an X5930 6-core (+hyperthreading) w/ 32GB ram and runs perfectly otherwise.

Guest is allocated 8GB memory, 128MB video memory, with extensions and guest additions installed, VBox 5.0.16, Hyper-V, PAE/NX, VT-x, and nested paging all enabled. Guest is allocated 6 of 12 cores. Screen resolution 1680x1050, though others used with no change both in full screen and windowed mode.

VS 2015 Community also installed, otherwise a clean install on the guest.

Running Windows Powershell ISE, I sometimes need to type several characters, then wait approximately 10 seconds to see the changes occur.
Likewise any UI action regardless of application, like scrolling, moving windows, calling another windows to the front, etc is extraordinarily slow, i.e. a 1-4 second lags. Not sure how to quantitatively benchmark it.

Memory usage ~ 34%. Problem persists regardless of CPU load, though is obviously worse at high loading.

I will experiment with the video memory and acceleration settings when able to see if that impacts.
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: Windows 10 running like a dog

Post by michaln »

gnieboer wrote:Guest is allocated 6 of 12 cores.
Have you tried keeping things simple and giving the guest one core or perhaps two?

When the guest is unresponsive, what does the guest and the host think about CPU utilization? Is it high (at least one core busy) or not?

Memory is not likely to be a problem unless VS 2015 steals all of it. I have Windows 10 VMs with 4 GB RAM and they run smoothly.
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Windows 10 running like a dog

Post by mpack »

gnieboer wrote:Guest is allocated 6 of 12 cores.
Your previous paragraph said that you had a 6 core host. So this means that you allocate all 6 to the VM? I doubt that this improves system performance.
neptunecentury
Posts: 6
Joined: 13. Sep 2010, 16:19
Primary OS: MS Windows 10
VBox Version: OSE other
Guest OSses: Linux, Windows

Re: Windows 10 running like a dog

Post by neptunecentury »

I had the same issue. Running Windows 10 in a vbox was unbearably slow. After some fiddling, the following actually sped things up really nicely:

Under your Win 10 VM Settings > System > Acceleration tab, select Hyper-V from the Paravirtualization Interface dropdown.
Screenshot of setting
Screenshot of setting
screeny.png (14.1 KiB) Viewed 6510 times
Performance was MUCH much better after this, and after reading up on it in the docs, it appears to be the recommended paravirtualization for Windows guests. Before I set it to Hyper-V, mine was set at "Legacy".
gnieboer
Posts: 3
Joined: 5. Apr 2016, 09:14

Re: Windows 10 running like a dog

Post by gnieboer »

@mpack: The CPU is 6 physical cores with hyperthreading supported, which means there are 12 virtual cores.

VBox settings allows selection of up to 12 virtual cores, but gives a caution when I exceed 6, so I kept it there. When the VM shows 100% CPU utilization, the host shows 50% for the VBox process, and then a couple more % or so for other host activities, which is about what I'd expect given that I've allocated a max of half the CPU power to the VM. So there's still plenty of CPU overhead available in the host even when the VM is going full tilt.

But specifically to your question, the problem is noticeable when at least 1 core worth of load is occurring, i.e. the CPU utilization on the guest is reporting over 15% or so. When there is NOTHING going on on the guest, then the UI is acceptable. But even at 20% significant lag occurs despite plenty of remaining CPU being available.

Here 's data during different sections of a build script I am running... different sections use different ranges of CPU... UI action tested is clicking the scroll bar once on a text editor to scroll down a section of text:
90-100% CPU utilization: 6-12 second lag
65-95% CPU utilization: 3-11 second lag
40-60% CPU utilization: 3-7 second lag
4-10% CPU utilization: ~0 lag

To me it appears that the issue is related to thread/event scheduling since it only happens under a load, the "normal" threads are distributed fine, but the UI thread is not being passed to an available core.

@neptunecentury: I have Hyper-V and VT-X etc enabled in the system options exactly as you described. And I have an X99 mobo that supports all those features as well.

Similar spec'd VM's running Linux Mint on the same host perform fine.

I will experiment with disabling various acceleration features when I am able and will see if that drives any improvement.
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Windows 10 running like a dog

Post by mpack »

neptunecentury wrote: it appears to be the recommended paravirtualization for Windows guests. Before I set it to Hyper-V, mine was set at "Legacy".
You misread the docs. It is the recommended paravirtualization option because the KVM option won't work at all with Windows guests.
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Windows 10 running like a dog

Post by mpack »

gnieboer wrote:@mpack: The CPU is 6 physical cores with hyperthreading supported, which means there are 12 virtual cores.
I'm afraid it doesn't mean anything of the sort. You have 6 cores. There has been plenty of discussion of this subject already, if you care to search.
gnieboer
Posts: 3
Joined: 5. Apr 2016, 09:14

Re: Windows 10 running like a dog

Post by gnieboer »

@mpack... I appear to have upset you, which was not my intent. I think we just must not be communicating well, let me try again.
My host has an Intel 5930X CPU. That CPU has six physical cores. It also has hyperthreading, so that means it provides 12 logical processors (aka virtual cores) to the HOST.
In the settings for the VirtualBox guest, the slider allows me to select up to 12 virtual processors for the GUEST, and I had selected six, meeting the recommendation to not exceed the number of physical CPUs on the host.

@michaln, I turned the machine down to one CPU, and indeed, it is currently currently at 95% CPU utilization and the UI is still responsive. Thanks for the tip. Unfortunately, that also means these scripts will take until tomorrow to finish, so that's not a good scenario either.

So if six virtual processors on a guest is too many for a machine with 6 host physical cores, are there better guidelines out there other than what's currently provided in 5.0.16? Are there any other ways I can make the guest more multi-core friendly?
socratis
Site Moderator
Posts: 27329
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: Windows 10 running like a dog

Post by socratis »

gnieboer wrote:So if six virtual processors on a guest is too many for a machine with 6 host physical cores
Not too many. Way too many! Maxed out to be exact. You see, VirtualBox does not care about threads. It only cares about physical processors. And guess what happens to your hyperthreading when all of your physical processors are locked; hyperthreading is useless, even for your host.
gnieboer wrote:are there better guidelines out there other than what's currently provided in 5.0.16?
Not as far as I know, and it has nothing to do with a specific version. It's by design.
gnieboer wrote:Are there any other ways I can make the guest more multi-core friendly?
Sorry, but no. Not with today's technology.
gnieboer wrote:these scripts will take until tomorrow to finish, so that's not a good scenario either.
If the scripts require only CPU cycles, I would assign up to 4, maybe even 5 CPUs, if your host is doing nothing CPU intensive. And in that case I wouldn't worry about lagging in the mouse or the keyboard. If this is a temporary thing that is...
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
gunther123
Posts: 6
Joined: 31. Mar 2010, 18:09
Primary OS: Ubuntu other
VBox Version: OSE Debian
Guest OSses: Win XP

Re: Windows 10 running like a dog

Post by gunther123 »

I experienced similar issues with Windows 10 as a VM on VB. VERY SLOW. Just opening Windows Explorer, typing into the "Search the web and Windows" Cortana box. Sometimes I would have to wait for 30 seconds before the first letter would show up in the box.

I did find that after a reboot, things would be fine for a few days and they would progressively get worse. I did run a performance monitor to capture system performance after a reboot in order to compare when the system was sluggish. Unfortunately, I got so excited to try out the Hyper-V paravirtualization option that I forgot to capture an updated performance report before shutting the VM off.

So, when I initially setup my Windows 10 VM, I had inadvertently selected a single virtual CPU with 10GB of RAM. The system seemed fine. It was working great for awhile. After a few days, things started to slow down. I checked my task manager and found that CPU was running between 20-40%, which I believe to be unusually high compared to a W7 box I was using earlier that would run between 0-15% normally. I thought maybe it was just a Windows 10 thing. Also to note, when the system was the most slugish, the CPU and memory did not show any signs of being taxed.

I eventually shut the VM off and add 8 virtual processors and left the RAM the same and started up. Again, everything was fine for a few days and then it started slowing down again. Today I started looking into the issue and found this thread. So, I shut down the VM, changed the paravirtualization from "Legacy" to "Hyper-V". Based on the discussion about the processors, I also dropped the virtual processors down to 4. My host server has 16 cores. When the VM started up, everything is looking good. Response times are normal. This is what I expect after a restart though. The only thing that I noticed to be different this go around is that the CPU utilization is now hovering around 5%, which I was never achieving with the Legacy paravirtualization, even with the single, virtual processor.

I'll monitor it over the next week to see how things go but for now, it looks like the Hyper-V paravirtualization option or reducing the virtual CPUs or both is helping.
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: Windows 10 running like a dog

Post by mpack »

I had a similar problem when a Win10 VM was first installed, but in my case it was solved by disabling all the background crap: Cortana, Windows Defender (if you see msmpeng.exe hogging 80% CPU that isn't good). When I was done Win10 was running pretty sweetly. My soon to be replaced host is dual core, so the VM only has one.

I did not enable Hyper-v, as I'm not sure why it would be relevant.
gunther123
Posts: 6
Joined: 31. Mar 2010, 18:09
Primary OS: Ubuntu other
VBox Version: OSE Debian
Guest OSses: Win XP

Re: Windows 10 running like a dog

Post by gunther123 »

Went through the weekend and my system is still running well.

I did forget to mention that before I made the paravirtualization and CPU changes, I had set my "Visual Effects" to "Adjust for best performance" which disabled all the animations and transition effects. Even with all this disabled, there was no change to the sluggish behavior. Things continued to get worse.

So far, I'm saying that the paravirtualization and/or CPU changes fixed my sluggish Windows 10 VM.
Post Reply