Virtual machines (VMs for short) are excellent tools, especially for anyone who works with software development. They often require a somewhat hefty host system to run because of the intense processing and hardware sharing needed to use them.
A VM can even run slow if you do have a powerful system. Worst case, it might freeze, shut down, or just disappear altogether. They can also affect the performance of your host machine.
While virtual machines have a multitude of benefits and are very versatile tools, they’re not if they run so slow you can’t use them. If you have used a VM, there is no doubt you’ve run into this problem at one time or another.
Let’s take a look at why some virtual machines might run slow, how to fix the problem, and how to make VMs the useful tool they’re intended to be.
Why Virtual Machines Can Be Slow
Virtual machine applications are very process-intensive programs. They can be sensitive to a variety of things that cause them to slow down. However, those issues typically come down to four main categories.
If your VM is running poorly, the first thing you want to look at is the host system—the computer you’re running it on. In most cases, the issue boils down to the host system not having the power to run VMs. Remember that each virtual machine shares resources with the host, so you need to ensure you’re packing some power.
If your system is lacking in any of what I like to call the “Big 3” resources—CPU, memory, and disk space—then this is likely the source of your problem. Virtual machines need a lot of processing power. The faster, the better: if you have multiple CPUs or a multi-core processor, that will make things even better.
Memory is a huge factor and often a major cause of a slow virtual machine. VMs are memory hogs; if you don’t have enough free, your computer will begin memory swapping. That means it will use space on your hard drive to store things it would normally keep in memory. Writing and reading from the disk is much slower than from memory; it’s sure to slow down your VM and the host.
You will need to have adequate free disk space available to allocate to your VM. It’s best to set virtual machines up with fixed disk space instead of dynamic disk space. This setting requires that you have that space available at the time you create the VM.
If you use dynamic disk space, the space used by the VM only grows as you use it. This can save space on your hard drive, but it creates a lot of fragmentation—which in turn slows down reading and writing from the disk and the virtual machine.
Other hardware can also slow down your virtual machine if they’re subpar. Your video card, wifi card, USB, and other peripherals can contribute to the slowdown. However, their negative effects will likely be minimal compared to the Big 3.
While video cards can be a significant factor in displaying the VM quickly, you can adjust video settings to alleviate most of those issues.
The configuration of your VM often determines how it will perform. If you configure it to emulate too large and powerful a system, you may not have the resources on your host computer to run it.
When we’re free to create any system we want, we have a tendency to go big. However, this can be a detriment to your ability to actually use the VM. Be sure to figure out what minimum requirements you need for the virtual machine, then configure it within those parameters. Don’t overdo it; you’ll end up with a slow VM.
Be aware of other apps running on the host when you are using your VM. If you have lots of windows open or even software running in the background, they can slow down your machine. Also, keep in mind what you are running on the virtual machine, as that will affect resources just as much as the apps running on the host.
If you’re having speed issues, It could just be the VM software, also known as the hypervisor, that you are using. Some virtual machine apps play better on one OS than another. You might need to do some investigation to determine what hypervisors work best on the system and environment you use as your host. If necessary, you may want to get some of the free trial versions of alternate hypervisors and see which ones work best on your computer.
For more information on particular VM software, take a look at our article, “The Best Virtual Machine Software.”
Tips for Speeding Up Your VMs
Now that we have discussed some of the things that may cause your virtual machine to run slowly, it’s time to learn what you can do to improve their performance.
Your host’s memory plays an integral part in its performance. Having as much memory as you can on your host system is a start. You also want to be careful and limit the amount that you configure for your virtual machines. At least meet the minimum requirement of the operating system without taking too much from the host. If you have too little memory, it will definitely run slow.
So, how do you balance between the two? A good rule of thumb is to allocate at least ⅓ of the host’s memory to the VM. You can assign more if you would like, but don’t have many other applications running simultaneously.
Short of buying a new CPU or computer, there’s nothing you can do to improve your processor’s speed. Make sure you enable virtualization in your BIOS settings, however. This will allow your computer to share its resources with VMs. If you have a multi-core CPU, you can configure your virtual machine to use more than one CPU.
Making sure that you don’t use dynamic disk allocation when setting up your VM. A solid-state hard drive (SSD) can significantly enhance performance due to its remarkably fast access speeds. If you do have an SSD, ensure that your VM images are created, stored, and run on it.
If you don’t have an SSD, keep your images on the fastest drive you have available. Keeping them on a network drive, CD, DVD, or external USB drive can degrade performance because of the access time required for these slower storage options.
Other apps running on your system can also be a problem: they use up resources just like VMs. Be sure to limit other applications you have running while you use your virtual machines.
Anti-virus applications can slow down a system, especially as they scan memory and disk drives while you use them. You might want to disable anti-virus software when using your VMs. At the very least, tell your anti-virus software to exclude the directories you use to store your images.
Some miscellaneous tips for speeding up virtual machines: check some of the settings you have available for your VMs. Look for video settings like 2D and 3D video acceleration. Software settings may provide other ways to optimize the operating system and increase performance.
Virtual Machines often take a very long time to start up, so you might want to suspend the machine when you are done using it instead of shutting it down. Suspending is like putting it in sleep mode: when you use it again, it should be in the same state that you left it. That means there’s no need to wait for it to boot up.
One last thing: perform regular maintenance on your host system to keep it running smoothly. Get rid of unwanted files, delete unused apps, and defragment your hard drives. Optimizing your host will allow your virtual machines to run optimally.
Virtual Machines are great tools with many different uses. But when they run slowly, it’s hard for them to serve the purposes they’re designed for. If you find yours running painfully slow, there are some specific things to look for, and there are techniques you can apply to improve their performance. We hope this information helps you to speed up your VMs.
Do you have any tricks for optimizing an operating system? Let us know if you have any questions or suggestions.