VirtualBox is my virtualization software of choice. It is free and feature-rich, so all my virtual machines are created in VirtualBox. Starting with Windows 10 April 2018 Update (and its pre-release versions), I noticed very poor performance of Windows 10 guests in VirtualBox. Here is how I fixed it.
Let's start with official Windows 10 system requirements, which are as follows.
|Processor:||1 gigahertz (GHz) or faster processor or SoC|
|RAM:||1 gigabyte (GB) for 32-bit or 2 GB for 64-bit|
|Hard disk space:||16 GB for 32-bit OS 20 GB for 64-bit OS|
|Graphics card:||DirectX 9 or later with WDDM 1.0 driver|
Now, let's create a new Windows 10 machine in VirtualBox and see which settings it will use by default.
Click on the File - > New Machine to open the new machine wizard.
Select Windows 10 (32-bit or 64-bit) and fill in the machine name box.
By default, VirtualBox will dedicate 1 GB of RAM for a 32-bit Windows 10 machine, and 2 GB for its 64-bit version. In my case, it is a 64-bit instance.
The virtual hard drive will get 50 GB of disk space.
It is OK to use VDI as the hard drive image format. I am using a dynamically expanding virtual disk to save space on my real hard drive. However, using a pre-allocated (fixed size) disk image will speed up your guest OS a little.
Your virtual machine is now created. It fits the official system requirements, so everything should be fine.
However, after installing Windows 10 on such a virtual machine, you will face extremely poor performance in the guest OS. It will work slow as hell, making you wait for several minutes for simple action such as opening Settings or File Explorer.
Fix Slow Performance of Windows 10 Guest in VirtualBox
The secret is in the CPU configuration of the virtual machine. By default, it is set to single core.
While the official system requirements don't mention CPU cores, it looks like Windows 10 needs at least a dual-core CPU to run smoothly. I recommend you to change the Processor parameter to half of your CPU cores. i.e. if your CPU is 8-core, set this parameter to 4.
Also, increasing RAM to 3 GB (3072 MB) allows the OS to work better. It is not really necessary, but it's better to make this change if you have enough memory on the host hardware.
Now, start your Windows 10 virtual machine. You'll notice the difference.