Komischerweise nehmen die Missverständnisse über die CPU-Belastung durch Virtualisierung deutlich zu, seit die CPUs mit Kernen nur noch so um sich werfen. Daher hier noch mal ausdrücklich:
- Es ist generell überhaupt kein Problem, die CPU eines Virtualisierungs-Hosts zu überbuchen. Ganz im Gegenteil: Genau dafür ist Virtualisierung da.
- Eine CPU kümmert sich auch ohne Virtualisierung nie nur um eine Aufgabe, sondern schaltet ständig zwischen Aufgaben hin und her. Ob es sich dabei um verschiedene Programme innerhalb eines Betriebssystems handelt oder um verschiedene Programme innerhalb mehrerer Betriebssysteme, ist der CPU am Ende egal.
- „Gängige“ Anwendungen lasten eine CPU (oder auch einen Kern) niemals auch nur ansatzweise aus. Dadurch ist die CPU statistisch gesehen fast immer im Leerlauf.
- In der Praxis ist eine CPU-Überbuchung von 10:1 fast nie ein Problem. Auch eine Überbuchung von 20:1 kann durchaus funktionieren. Heißt: Ein Beispiel-Host habe 8 Cores, dort laufen 40 „gemischte“ VMs, die jeweils 2 Cores haben (Verhältnis 10:1). Mit großer Wahrscheinlichkeit wird die CPU nicht der Engpass sein. (Wahrscheinlich wird man vorher feststellen, dass das RAM nicht reicht.)
- Ein Verhältnis von 5:1 (also: fünf vCPUs zu einem physischen Core) ist als generelle Richtlinie üblich, dabei bleiben für “allgemeine” Anforderungen noch genügend Reserven.
- Wenn die VMs (einzelne oder alle) wirklich höhere Anforderungen stellen (Terminalserver, stark belastete Datenbankserver usw.), kann mehr Designaufwand erforderlich sein. Selbst dann ist in den meisten Fällen aber noch eine CPU-Überbuchung möglich.
- Ein 1:1-Verhältnis zwischen physischem Core und VM-CPU ist technisch praktisch nie erforderlich.
http://faq-o-matic.net/?p=8460