How to Speed Up VMWare, Oracle VirtualBox and Microsoft Hyper-V Virtual Machines
Virtual machines are quite resource-intensive applications, as in the course of their work several operating systems are actually running on one computer. As a result, a virtual machine can be much slower than the main operating system or even experience some lagging.
In this article we will study several ways of speeding up a virtual machine such as VMware Workstation, Oracle VirtualBox, Microsoft Hyper-V or any other.
Dynamically Allocated or Fixed-Size Virtual Hard Disk?
When creating a virtual machine, you can choose between two types of virtual hard disks. By default, a virtual machine uses a dynamically allocated disk which takes up only the required space on your physical drive and grows in size as long as it is filled with data.
For example, when you create a virtual machine with a dynamically allocated hard disk of 30 Gb, it is not going to eat away the 30 Gb off your actual hard disk. After installation of the operating system and necessary software its size can be about 10 to 15 Gb. Only after adding data it can grow to the size of 30 Gb.
It is convenient as the virtual machine will take up as much space as is required to store its data. However, a dynamically allocated hard disk (sometimes, these are called expanding disks) is slower than a fixed-size one.
When creating a fixed-size disk, all of the 30 Gb in the actual hard disk will be allocated for the virtual machine disk at once, regardless of how much data is stored there. That is, a fixed-size hard disk of a virtual machine takes up more space in your physical drive but it copies or saves files and data faster. It is not so sensitive to fragmentation, as the space for it is allocated in a block of maximal size instead of adding it by small portions.
Installing Virtual Machine Tools
After a guest operating system is installed on your virtual machine, the first thing you do is to install a package of tools or drivers for such virtual machine, for example: VirtualBox Guest Additions or VMware Tools. Such packages contain drivers to help the guest operating system work faster.
They are easy to install. In VirtualBox, boot the guest operating system and select Devices / Insert Guest Additions CD Image… After that, start the installer which will appear as a separate disk in the folder This PC of the guest operating system.
In VMware Workstation, select the menu VM / Install VMare Tools… After that, start the installer which will appear as a separate disk in the folder This PC of the guest operating system.
Add the Folder Containing the Virtual Machine to the Exclusions of your Antivirus.
Along with other files, the antivirus also scans the virtual machine files which affects its performance. However, the antivirus has no access to the files within the guest operating system of your virtual machine, which makes such scanning useless.
To avoid the problem with reduced performance of the virtual machine, you can add its folder to the exclusion list of your antivirus. Then the antivirus will ignore all files in such folder.
Enable Intel VT-x or AMD-V
Intel VT-x and AMD-V are special virtualization technologies meant to improve performance of virtual machines. Most of the modern Intel and AMD processors have these as a common feature. However, it may not be enabled automatically in some computers. To enable such a function, you should go to BIOS and turn the function on manually.
AMD-V is often enabled from the start, if the computer supports it. On the contrary, Intel VT-x is often disabled by default. That is why you have to make sure that these virtualization functions are enabled in BIOS, and then turn them on in the virtual machine.
More System Memory
Virtual machines are sensitive to the size of system memory they can access. Every virtual machine includes a full-fledged operating system. That is why you have to divide your computer’s operating system into two separate systems.
Microsoft recommends at least 2 Gb of system memory for its operating systems. Accordingly, such requirement is relevant for a guest operating system on a Windows virtual machine. And if you are going to use third-party resource-intensive software on your virtual machine, then you will need even more system memory to make sure it runs properly.
If after creating a virtual machine it appears to have not enough system memory for normal operation, you can change its settings to add more.
Before doing it, make sure that the virtual machine is turned off. It is also not recommended to assign more than 50% of the actually available virtual memory to the virtual machine.
If you have allocated 50% of your PC’s memory to the virtual machine and you don’t see much improvement, your computer may have insufficient memory size to work with virtual machines comfortably. For normal operation of any virtual machine you will need to have 8 Gb of system memory in your main computer.
Allocate More CPU Resource
A working virtual machine puts most pressure on the central processing unit (CPU). Therefore, the more CPU resource a virtual machine can use, the better (faster) it will work.
If a virtual machine is installed on a computer with a multi-core CPU, you can allocate several cores for the virtual machine when you work with its settings. A virtual machine using two or more CPU cores will work significantly faster than a machine using only one core.
It is not recommended to install a virtual machine on a computer with a single-core CPU. Such machine will be too slow and ineffective in performing any tasks.
Proper Video Settings
Video settings can also influence performance of a virtual machine. For example, enabling 2D or 3D acceleration in VirtualBox can make some applications work much faster. The same applies to increasing the video memory size.
Yet as well as in case with system memory, much depends on the video card installed in the main computer.
A Virtual Machine and SSD
The first and the best upgrade for your computer these days is adding an SSD. It will speed up the computer greatly - as well as the virtual machine you have installed.
Some users install virtual machines on another (HDD) disk in their system, and leave SSD for the main operating system only. It makes the virtual machine slower. Free up some space on the SSD and transfer the virtual machine there. You will feel the difference in the speed of work immediately.
If possible, don’t keep virtual machine disks on removable media. They work even slower than any internal HDD. You can try connecting a virtual machine via USB 3.0, but USB 2.0 is hopeless - a virtual machine will be very sluggish.
Suspend vs Shutdown
When you stopped working with a virtual machine, you can suspend it instead of shutting it down.
When starting an application to work with virtual machines next time, you can start a virtual machine as usual. But it will boot much faster, in the same condition and at that moment where you stopped working last time.
Suspending a guest operating system is very similar to using Hibernate function instead of shutting down your PC.
Improving Performance within the Virtual Machine
You should always remember that an operating system installed on a virtual machine is almost the same as the one you have on your main computer. You can improve your virtual machine performance following the same principles and using the same methods that are good for any other operating system.
For example, system performance improves when you close background programs or those starting automatically with the system. System performance can also be affected by the need for defragmentation (if it is installed on an HDD) and so on.
Programs to Work with Virtual Machines
Some users argue that Oracle VirtualBox is the fastest application for virtual machines, while others find VMware Workstation or Microsoft Hyper-V to be the best. However, performance of a virtual machine on a particular computer depends on a number of factors including version of the guest operating system, its type, system settings and virtual machine settings, performance of the computer and so on. In any case, you can always try another program.