- Windows 10 works slowly on Virtualbox. How to speed up?
- Update Virtualbox to the latest version
- Use optimal (or default) settings for virtual machine
- Turn Off Windows Defender
- Enable virtualization technology
- Use fixed disk size
- Install Virtualbox Guest additions
- Move virtual disk file to SSD
- Extra steps to speed up Windows 10 on Virtualbox
- The Conclusion
- 9 thoughts on “Windows 10 works slowly on Virtualbox. How to speed up?”
- VirtualBox is very slow in Windows 10
- 16 Answers 16
- 1) You might exclude from antivirus & Windows Defender:
- 2) Check the Execution cap . I use around 30-70%
Windows 10 works slowly on Virtualbox. How to speed up?
The problem: Windows 10 works slowly on Virtualbox virtual machine, while Windows 7 is fast and snappy. You may see similar situations on the Internet forums. People often ask “Why is my Windows 10 so slow on virtualbox VM? I have Core i7, 16 GB of RAM, I assigned 4 cores of CPU and 4 GB of RAM to the virtual machine but the CPU usage is 100% all the time! Svchost.exe process is loading CPU to 100%” Let us see what are the possible reasons of low performance and how to speed up Windows 10 on virtual machine.
Update Virtualbox to the latest version
Do not forget that a lot of bugs can be fixed in new version. Especially when it deals with the fresh version of Windows (Windows 10 for now). For example a lot of users were experiencing the problem of 100% CPU load by svchost.exe process on Windows 10 guest OS lately. This issue disappeared after updating Virtualbox to the version 5.0.16 r105871:
Update 2019! Virtualbox version 6.0 works with Windows 10 much better. The only condition is to have a modern platform. On my Z390 AORUS PRO with Core i7 9700K it works just fine whereas the same VBox version on my old PC with Core2Quad Q9500 works slow as hell.
Use optimal (or default) settings for virtual machine
Often users tweak settings of virtual machine believing that they boost performance. But in fact ignorant tweaking can reduce performance. In this case you can see svchost.exe loads the CPU to 100% and very slow response of GUI.
Tip 1: Turn off your virtual machine. Go to its Settings and try to change the quantity of processors. Note that the performance can decrease if you assign all physical cores to the virtual machine. So assigning 2 cores of 4 available is usually the best variant.
Tip 2: Try to set all values to their defaults for Windows 10 guest operation system:
If you are unsure whether this or that option was enabled or disabled by default you can create a new virtual machine for the same guest OS and see the default parameters. Then just delete the new machine when you don’t need it.
In most cases would be optimal to use default settings. Do not change default settings of the virtual machine unless you are 100% sure what you are doing!
Turn Off Windows Defender
In most cases people use Virtual Machines to develop software, to test operating systems and so on. If you are not using VM for surfing you can disable protection. It would save CPU resources greatly especially when it is about Windows 10 on Virtualbox.
Enable virtualization technology
If you have the virtualization technology setting in your BIOS / UEFI enable it:
Use fixed disk size
When setting up a new virtual machine you can choose between dynamically allocated and fixed size disk types. A dynamically allocated disk can save disk space of your drive but it takes more time for Virtualbox to write to. A fixed-size disk uses all allocated space immediately, takes longer to create but works faster. We recommend to use fixed-size disk to speed up Windows 10 on Virtualbox:
Use a fixed-size disk to speed up Windows 10 on Virtualbox
Install Virtualbox Guest additions
Guest Additions is the driver pack for virtual machine. It serves to improve performance of the guest OS. Please don’t forget to install it. You can do it at any time. Just click on Devices → Insert Guest Additions CD Image and launch VBoxWindowsAdditions.exe:
Install Guest Additions
Move virtual disk file to SSD
Windows 10 is designed to be installed on SSD drive. So if you use Windows 10 on virtualbox VM you should place the virtual disk file on your fastest drive. If you have already installed Windows 10 you can move the file to another physical disk of the host system.
Extra steps to speed up Windows 10 on Virtualbox
1) Check virtual machine for malware using AdwCleaner and MBAM and remove all found items.
2) Reset the network interface settings using NetAdapter Repair:
3) Turn off the visual effects you don’t need in the guest OS:
The Conclusion
As you might understand the hardware of your host machine matters. If you upgrade to the latest platform and import your existing virtual machines you may find it work much faster on the same version of Virtualbox.
I appreciate your feedback very much. Please, find a minute to share your experience in the comments. Don’t forget to mention your hardware and Virtualbox version. Thank you in advance!
9 thoughts on “Windows 10 works slowly on Virtualbox. How to speed up?”
It doesn’t really help much. I have VM guest tool installed. Grahpics still slow.
I wrote this article about a year ago. I decided to mention all tips that really helped me to improve performance at least for 30%. I agree that today Windows 10 works slow as hell on VM. But these tips often help to speed it up a bit.
Thanks for the tips, I’m glad I’m not the only one disappointed by Windows 10 VM performance. With increasing popularity of VMs, you think that MS would have done more to support VMs.
I just followed the advice to create a new virtual machine with default settings, and the speed is night and day, it is actually usable now.
Increasing the VRAM helped greatly. Defaulted to 20..jesus.
What about Windows 10 UpDates, they took forever.
I saw that manually downloading the kb*** file reduces time, but why M$ is launching one ServicePack every week or less. Of course M$ hides it is a ServicePack, they called acumullative update… but it changes the version number of Windows 10 and most times it is more than half a gigabyte on size.
Not to mention the need for ‘good’ developers to have every possible version of Windows 10, so can test software on any possible version of Windows 10, that makes 33bit/64bit * home/pro/enterprise (six man versions) and that multiplied by the number of mayor versions (1507/1703/1709/1803… etc) and each one multiply by the number of ServicePacks (near one per week), etc… that gives a beautiful number of needing neat five hundred virtual machines, each with a partition of at least 64GiB (tested, with 32GiB updates fails to install because there is not enough space for old+new system files, and it do not tell you you need more space, just fails and revert back, a lot of time lost)…
So how on the hell can have 32 terabytes (500 versions of Windows 10 * 64GiB each) of disk to store fixed size virtual machines, there is no other option to use “dynamic size” (each Windows, without pagefile, hiber, swap takes near 20GiB if it is ‘clean’ and without 3rd party apps).
Developers (at least ‘good’ ones) need to ensure their apps will work well whatever version of Windows 10 has the person that will use it, or either do not say the app is Windows 10 compatible.
Now imagine, 4 hours to update one guest, multiply that per 500 (actually it is now near 600), so 4*600=2400 hours, so 100 full days needed and they (M$) create a new version of Windows 10 near every week, so add 6 machines every week… unviable at all mantain updated all of them… not to mention how dare can be complicated to update old windows 10 versions without changing the verion on the update process, blocking each KB that can be seen as ServicePack, etc… too much time consuming.
So, is there a easier way to update Windows 10, or at least a way much faster… what about doing it like Linux does on some distros, just replacing files with never versions and cleaning up old version upon first good reboot, all done in background I/O times? When M$ will learn how updates must be deployed? NEVER EVER! for sure.
M$ pretends to kill all people, i now only sleep 15 minutes per week, so i will die in less than a year, but that is what is caused by M$.
I wish this MS monopoly never existed, I hope it goes away A.S.A.P. I payed for the Win10 with the hope of a less buggy OS, a faster one and with probably evolutionary modern solutions but all it is now is nothing+nothing+waste.
It is worth to check if it helps to set the chipset of the VM to “ICH9” (instead “PIIX3”).
In this way, I was able to reduce the host CPU load of Win10 in idle (=guest system) from 60% to about 15%. Host: “Fujitsu Esprimo P710 E85 +” / Win7 / VirtualBox 6.0.12
For me changing Graphics controller from VBoxVGA (default) to VBoxSVGA (available with Guest Additions installed) and increasing VRAM to 256 MB helped greatly, now I barely notice it’s a virtualized OS.
VirtualBox is very slow in Windows 10
I had VirtualBox installed on Windows 8.1 and it was working correctly. I upgraded to Windows 10 and re-installed VirtualBox, but it’s very slow.
- CPU : Intel Core i5
- Graphic Card : Nvidia 740m
- 6 Gigabyte RAM
- 256 GB SSD Storage
Drivers are up to date. 3D Acceleration is enabled.
What’s the problem?
16 Answers 16
It seems you’re on a laptop, so tweaking Windows power options may be a solution:
So it turned out to be a simple problem, partly caused by selecting the wrong power plan. Make sure that the High power plan is selected when running virtual machines VirtualBox.
After some more experiments, I found that by raising the minimum processor speed when running on mains power raised the CPU speed. Setting it to 80% made the minimum speed 2GHz on mains power, which was fine for running the virtual machine.
To do this, go to Power Options in the Control Panel and next to the Power saver plan, click Change plan settings. On the next screen, click Change advanced power settings. Expand Processor power management, Minimum processor state, and set Plugged in to 80% or whatever value gives reasonable performance in the virtual machine.
I had the same problem today — found that the «Graphics Controller» (Display tab) had defaulted to VBoxSVGA. Clicking over all my VMs, it was the only one on that setting. So I changed it to VBoxVGA, and voila — no more lag! It was so bad, I’d see the display update in the VirtualBox Manager mini preview, so I’d click off the VM then click back and the display would update. Good as new now.
I noticed a significant boost in Windows speed after enabling 3D acceleration from the Display settings panel.
1) You might exclude from antivirus & Windows Defender:
Search Virus and Protection > . Settings > Add Exclusions > Add Folder -> C:\Program Files\Oracle\VirtualBox
2) Check the Execution cap . I use around 30-70%
CPU Execution cap limits the amount of time a host CPU spends to emulate a virtual CPU. The default setting is 100%, meaning that there is no limitation. A setting of 50% implies a single virtual CPU can use up to 50% of a single host CPU.
Make sure that you have the VirtualBox Guest Additions installed, which ensures that the virtualized OS can work better with the hardware exposed through the host.
More weird things with Windows 10 guest (after clean install), on two different hosts.
On one host with Windows 10 host, the VoxSVGA + 3D works acceptable.
On the other host with Linux Manajaro (last LTS kernel 5.x) host, the VBoxSVGA (with and without 3D accel) makes the guest to not reach desktop, freezes prior to dots moving, BSOD, etc.
On such other host with Linux Manajaro (last LTS kernel 5.x) host, the VMSVGA with 3D accel makes the guest to not reach desktop, freezes prior to dots moving, BSOD, etc.
On such other host with Linux Manajaro (last LTS kernel 5.x) host, the VMSVGA without 3D accel makes the guest to reach desktop, but so slow that it is unusable, more than half an hour to reach desktop, more than ten minutes to show windows menu after click, more than five minutes to show contextual desktop menu, near two hours to open explorer, near one hour and a half to open notepad, near 45 minutes to open cmd console window, typing the four characters of «CD \» took near two full minutes, listing shown was one character every four or five secons, etc. and near five hours to do a shutdown.
With a lot, lot of patience, i had tried to uninstall, reboot and re-install AddOns, that took a whole week, near 166 hours, but that did not help, still the same.
As i said Windows 10 is a clean install.
The weird thing is that such guest install was done on an Intel Windows 10 host and speed problems appear on an AMD Linux host.
If i install the guest on AMD Linux host it works acceptable, but if i take that guest to the Intel Windows host, then the guest has the exact same problems, BSOD or very slow, depending on (VBoxSVGA with/without 3D and VMSVGA with 3D = BSOD) vs (VMSVGA without 3D = very slow).
Very slow = A lot of minutes (>30 min) to just boot, some hours to do a clean power off, etc
BSOD = Not reach desktop, just freeze or BSOD and auto-reboot.
It happens only with Windows 10 guest, i had tried with and old WinXP guest i had and such worked perfectly on both hosts (i can move the WinXP guest form Intel to AMD back and forth without problems, but not the Win 10 guest).
I also had tested with default settings that VBox uses when creating the VM, with all sorts of combinations (PAE/NX, IO, cache, etc), the only thing that causes any difference on BSOD vs reach desktop is selecting VMSVGA without 3D, but hten that VM is too slow to be able to be used.
Both host have decent modern processor, 8GiB physical RAM (2GiB to guest).
And yes, i had tried with max guest video memory size, no help at all. Also 100%, 90% .. 50% of CPU did not help; guest with only 2 cores so host have plenty of cores extra (Intel is quad core no multi-threaded, AND has 32 cores with 64 threads).
This problems appear after VirtualBox change to 6.x from 5.x, but with 5.x no matter what video configuration i use the win 10 guest BSOD problem was allways appearing if i use the VM guest on AMD if installation was done in Intel and vice-versa, so at least with VBox 6.x i can reach desktop (with 5.x i can not) but it is unusable.