4

We are trying to determine the pros and cons of allotting different number of CPUs to VMs (VMware). We would like to see how the VMware kernel is dividing up the total number of cores/threads and determine the best architecture for our specific software configuration needs. Is anyone aware of how to look at IRQ interrupts within the ESXi kernel?

JMeterX
  • 3,387
  • 15
  • 31
  • 1
    if you have to many cpus/cores assigned to a vm the "cpu rdy" can go ballistic and actually slow down the vm's. So if the app isn't designed for multicore then don't do it. If it is multicore aware using multi cpu/cores sparingly. – tony roth Jun 13 '12 at 15:03
  • Tony - that's much less of a problem with newer version of ESX/ESXi - certainly that was an issue with v3.x but it's rarely an issue for most people these days. – Chopper3 Jun 13 '12 at 15:24
  • we are on esxi 4+ and even 5 and we still see the issue. – tony roth Jun 13 '12 at 15:46
  • of course this is on hosts that we are trying to squeeze way beyond normal! So yes your point is mostly correct. – tony roth Jun 13 '12 at 15:47

1 Answers1

2

I was unsure if VMware was emulating the CPU when I asked this question. Assuming it did we could look at the physical hosts interrupts to determine the best way to divide up our resources. However, there is no emulation that takes place at all. As it was explained, consider a virtual system board with a hole, the guest OS simply looks through the hole and sees one of the cores in the host server. This takes the pressure of VMware to change theCPU emulation software each time a vendor introduced new instruction sets. The other reasoning is it adds too much overhead. The VMkernel schedules simultaneously CPU cycles for multi-CPU VMs. When the VM requests for cycles the request goes into a queue for the host to process and the host waits until there are at least two cores or hyperthreads to schedule that VM.

JMeterX
  • 3,387
  • 15
  • 31