After some extensive searching I couldn't find the answer to my question. I'm sorry if this is obvious or not, but I just need to know. I have a server with verry low resources, 2gb of ram and 2 cores. I want to run a few webservices on it and want to do those in at least three linux VM's. Can I set my vm software up so that it shares the core depending on resource need of the guest os'es? My favourite vm software is VmWare, And I like to use that if that's possible.
You can set each VM to have up to two cores in this case. The more cores the more wait time per processing task. You can certainly assign two cores to each VM but it wont help them.
As for memory, you don't want to oversubscribe it too much. My suggestion is to leave 20% for host and distribute the rest. You can monitor memory and change it so that you're giving each machine a maximum that it uses but you will QUICKLY start using the scratch/page file and burning up your disks. For webservers, you're probably safe with 256-512mb of memory each depending on distro and packages installed.
Yes. VMWare shares the CPUs/cores by default.
When an ESXi host runs multiple virtual machines, it allocates to each virtual machine a share of the physical resources. With the default resource allocation settings, all virtual machines associated with the same host receive an equal share of CPU per virtual CPU. This means that a single-processor virtual machines is assigned only half of the resources of a dual-processor virtual machine.
If your host has 2 cores, and your 3 guests each have one core, each guest will have 60% share of CPU - worst case. If 1 guest is busy, and the other two are idle, the busy guest will receive 100% of one CPU core. If all 3 guests are busy, then they will split the CPUs resources evenly.