I think using container instead of VM should be better for maximizing resource utilization in a raspberry pi. Instead of partitioning your tiny 8gb RAM into 3-4 VMs with even tinier RAM each, you can run a dozen of containers and probably still have some free RAM.