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.