On 11/18/2010 01:52 PM, Kenni Lund wrote: > 2010/11/18 MargoAndTodd<margoandtodd at gmail.com>: >> Hi All, >> >> What are guest cores in KVM? Are they fake, like everything else >> in the guest? > > KVM requires VT-x support in your CPU, to get optimal CPU-performance > in the guest. Eg. no, it is not emulated like for example the sound > card - the virtual CPU uses the hardware virtualization support in > your CPU. How is is shown in the guest (eg. the name of it and its > capabilities/flags), depends on the options you give to KVM. If you > start KVM with the -cpu host argument, your Core i7 cores will get > presented exactly as Core i7 cores within the guest, with all the same > capabilities as on your host. This is not done by default, as it would > make it impossible to migrate from a server with CPU A to another > server with CPU B, since the CPUs need to be identical (eg. have the > same flags). Therefore the default virtual CPU in most setups is "QEMU > CPU vx.xx", which uses the most common CPU capabilities. > >> Just another process running on the host emulating >> a core? >> >> Or are the guest cores actually connected directly to the physical >> cores on my motherboard? > > No, they are not directly connected, they are threads on your host. > > Just FYI, you *can* start a guest with more virtual cores than you > have physically, but you'll see a huge performance hit if you do so > (due to some internals of KVM). However, you can still exceed your > physical number of cores, and get fair performance, as long as it's > spread among several machines. Eg. if you have 2 cores, you can run 2 > (or more) guests with 2 CPUs each, but performance will suffer if you > run 1 guest with 4 cores. > > Best regards > Kenni Thank you. I am slowly starting to get it. Do you have a rule of thumb as to how many core to assign to a guest? For instance, with an Intel x5650 with 6 real and 12 hyperthreaded cores, how many cores would you assign to the guest? Many thanks, -T