• Some users have recently had their accounts hijacked. It seems that the now defunct EVGA forums might have compromised your password there and seems many are using the same PW here. We would suggest you UPDATE YOUR PASSWORD and TURN ON 2FA for your account here to further secure it. None of the compromised accounts had 2FA turned on.
    Once you have enabled 2FA, your account will be updated soon to show a badge, letting other members know that you use 2FA to protect your account. This should be beneficial for everyone that uses FSFT.

How does CPU distribution/utilization work?

Joined
Aug 21, 2009
Messages
588
I have a quad CPU server with each CPU with dual 3.5Ghz cores. I would like to make 14 VM's running CentOS and I'd love to break the CPU usage equally over the 4 CPU's making it 2.0Ghz of CPU per VM. Is this possible or am I stuck with using the actual core of the CPU, which would limit me to 8 cores @ 3.5Ghz? I heard that Xen allowed me to do what I want by doing something like ballooning.?

I'd love to run ESXi as my hyper-visor but I don't know how to do this.

BTW this server is going to be a web server which won't need a aweful lot of processing power.
 
I think you're making this way too complicated. Just give each VM a single core, and let ESXi's scheduler sort it out. If the VMs are not going to be that CPU-bound, ESXi can do a good job balancing CPU utilization.
 
I think you're making this way too complicated. Just give each VM a single core, and let ESXi's scheduler sort it out. If the VMs are not going to be that CPU-bound, ESXi can do a good job balancing CPU utilization.

Thank you. So I have 8 cores. Does that mean that I'm limited to 8 VM's running at a time if only 1 core is assigned to each?

I know that I won't need the full power of each core which is why I was looking at basically doubling the number of VM's and somehow allotting the processor useage across them. This is what I don't understand if it is possible.

I was reading another members post about "everselling" their web server and that this could be done with Xen HV and "ballooning". I don't want to "oversell" (their not being sold) but I don't need 3.5Ghz per core when1/2 that would be more than adequate.

So what I was picturing was somehow a computer sharing a core and switching back and forth between VM's as the resources are required. IDK if that is possible.
 
You don't assign cores to VMs, any more than a Linux (or whatever) system assigns cpus to individual processes. If a VM needs cycles, the hypervisor schedules that VM to a (usually random) core. It really doesn't need to be complicated. While you *can* assign specific cores and set cpu allocation limits and such, that is almost always a bad idea unless you have a specific use case. e.g. just create each VM with one logical CPU (e.g. core) and let it go at that.
 
You don't assign cores to VMs, any more than a Linux (or whatever) system assigns cpus to individual processes. If a VM needs cycles, the hypervisor schedules that VM to a (usually random) core. It really doesn't need to be complicated. While you *can* assign specific cores and set cpu allocation limits and such, that is almost always a bad idea unless you have a specific use case. e.g. just create each VM with one logical CPU (e.g. core) and let it go at that.

Great, that is what I've been doing but I haven't reached the number of cores I have in my machine, so I didn't know if it was going to not allow the computer to run if there weren't any "free" or unassigned cores.

Thanks for the explanation!
 
It won't be on a random core in a dual CPU system..it'll most likely be on a core on the same CPU..now THAT one is random (based on availability and probably what you meant). But you want to schedule threads on the same CPU for L1/L2 cache locality...and in NUMA systems memory locality and vSphere handles all that to the best of its ability.
 
Just think of your CPU as a pool of processing power that your hypervisor pulls from when a virtual cpu core needs some processing time. That pool of CPU time is dynamically allocated to the VMs according to how much CPU time they are requesting. So your physical core count doesn't correlate to a hard number of VMs that you can run.

someone correct me if I a wrong
 
It won't be on a random core in a dual CPU system..it'll most likely be on a core on the same CPU..now THAT one is random (based on availability and probably what you meant). But you want to schedule threads on the same CPU for L1/L2 cache locality...and in NUMA systems memory locality and vSphere handles all that to the best of its ability.

not really random, but for his purposes it basically is. yes, that is what i meant :)
 
Back
Top