Link to home
Start Free TrialLog in
Avatar of Brandon Lyon
Brandon Lyon

asked on

Why are my virtual machines slow

At home I'm running 6 lightweight linux VMs on a single host and they are are performing slowly. The machine used to perform quite quickly with only 2 guest machines but as I added more performance suffered drastically. In case it matters, the VMs are super low-traffic webservers used for development of small sites only.

The linux host has the following hardware:

* A slow old AMD dual-core processor
* 8GB of quick RAM
* A single 7200rpm HDD shared by the OS and all VMs

Do any of those in particular stick out as the cause of the slow performance? I want to upgrade but am not sure which pieces need upgrading to run the VMs adequately.
Avatar of John
Flag of Canada image

Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Brandon Lyon
Brandon Lyon


Thanks. If I were to upgrade my CPU, would it be worth spending extra to have more cores? Is a 4 core CPU enough or should I try for a 6 or 8 core one?
A CPU is dependent on itself and on the BUS. So upgrading the CPU may not get you all the gains you want. If you try it, a 4 core CPU should be enough. I do not know how much you might have to pay for 8 cores. An I7 is several hundred dollars more than an i5 in the same machine (mobile CPU architecture). And again, the BUS needs to keep up.

Usually computers are designed as an engineering unit and also you want one that is Hyper-V enabled.
@Brandon Lyon -Thanks and good luck with either upgrading or a new machine.
What do you understand under a slow dual core CPU?

My experience is that it doesn't really matter whether it is AMD or Intel. I have several AMD dual core CPU's and they work just as well as Intel Dual core CPU's of about the same age, if not better.

Usually it really isn't that much the CPU's performance that is important, but rather that of the disk, particularly if you are running several VM's at the same time. Then it would make sense that every VM is on a separate disk for example.

Besides that, what often gets forgotten, but what is very important, is that you need to install the VM tools or extensions or whatever it is called by the hypervisor you are using in every VM. The tools add proper driver support and with them installed you will usually see a great improvement in speed.
I have an AMD machine here with Windows 7 and it is a slug. I always find Intel multicore machines faster.
My AMD multicore PC's are very fast and work just as well as comparable Intel core2duo PC's. They are usually also faster than Pentium D PC's, which are also dual core.
I had a Core 2 Duo from 2008 that was OK, but not anywhere near as fast as a quad core i5 or better.

I am sure you are speaking from your experience, but so also am I.
Nobody asked about whether you were over-committed on memory. I assume John's 8MB was a typo for 8GB, but squeezing 6 VMs plus the host into that 8GB could start pushing pages to the pagefile, which would easily account for things being slow. The most common thing to run out of in virtualization is RAM.

You should be able to look at the host OS's performance measurements to get an idea of which resource is being pegged.
A Quad core i5 is a totally new CPU generation compared to the old intel core2duo and first AMD 2 core CPU's. I'm comparing the same generation of CPU's with each other, and then you don't really see much difference and the make (AMD/Intel) doesn't matter. So it isn't really a Question of manufacturer, but rather of the generation the CPU fitted into.
The reason I don't suspect the RAM is because each VM is only allocated between 512 and 768MB of RAM. That's more than enough for their purposes and leaves plenty of RAM left. Linux servers don't require much.
But running them all at once still stresses the system, particularly the HD's. Also your host OS uses up RAM and disk resources.