How many virtual machines can you run on a single system with 16gbs of ram?

Solution
Newer virtual machine managers support virtual memory management in the VMs. So even if you've assigned the VM 8 GB, if it's only using 1.7 GB, it will only take 1.7 GB of main system memory. If you only have 16 GB, have assigned your VMs 20 GB, and they are using 18 GB, the manager will swap out the least-used memory to a pagefile local to each VM to keep physical RAM usage below the actual amount of physical RAM you have. (It doesn't rely on the host OS or hypervisor to manage virtual memory, since those will have no idea what memory in a VM is optimal to write to the pagefile.)

But to answer your question, it depends on the VMs you're running. A Linux VM usually does fine with 512MB to 1 GB. A Windows VM running just one or two...

nzalog

Respectable
BANNED
Jan 2, 2017
541
0
2,160
Just depends how much ram you assign to each VM, That's really the one resource that affects performance the most (along with decent storage).

CPU will be mainly used when you are actually using the running VM (unless you are running some intensive services on them).

In general ram is the bottle neck.

Depending how many VMs you decide to run try not too over subscribe the CPU too much.

For example if you have 4 cores... I would not go more than 4 VM's with 2 cores each. If you go 8VMs I'd limit it to 1 core each.

SSD is probably necessary if you run a lot at the same time.
 


If I may add to this, a HyperThreaded CPU with only its physical cores assigned to VMs will be able to more quickly and efficiently distribute RAM across multiple VMs. If you get Oracle VM Virtualbox, it will warn you if you assign more cores than you have physical CPU cores.

Also, if you allow each VM to only use 80% of the CPU clock per core (leaving 20% to the host), audio tends to be more clear and less jumpy as well as the host being more responsive to things like minimizing one VM and pulling up another, etc.
 
Newer virtual machine managers support virtual memory management in the VMs. So even if you've assigned the VM 8 GB, if it's only using 1.7 GB, it will only take 1.7 GB of main system memory. If you only have 16 GB, have assigned your VMs 20 GB, and they are using 18 GB, the manager will swap out the least-used memory to a pagefile local to each VM to keep physical RAM usage below the actual amount of physical RAM you have. (It doesn't rely on the host OS or hypervisor to manage virtual memory, since those will have no idea what memory in a VM is optimal to write to the pagefile.)

But to answer your question, it depends on the VMs you're running. A Linux VM usually does fine with 512MB to 1 GB. A Windows VM running just one or two programs can usually live in 2GB, though sometimes I bump them up to 4GB. If you plan to run something memory-intensive in the VM, you will have to allocate it more RAM.

To give you some idea, I have a ESXi hypervisor system with 16GB which continuously runs 4 VMs (2 Windows, 1 Linux, 1 BSD Unix), and occasionally I fire up up to 3 more Linux and Windows VMs.
 
Solution
I can run between 3 and 8 VMs without issues on my system whichout compromising my normal tasks. (i5 @ 16 GB RAM)
All depending on the configurations of the VMs. If I start those which use just minimal amounts (like pure DOS VMs) even more should be without issues.