ID #1020

Beobachtungen mit 2 v.CPU-Kernen in einer VM

Nachdem im ESXi4-Bereich des <a title="VMware-Forum" href="http://vmware-forum.de">VMware-forum.dea> ein Posting namens <a title="cpuid.coresPerSocket keine Wirkung im W2003 Enterprise" href="http://vmware-forum.de/viewtopic.php?t=16901">cpuid.coresPerSocket keine Wirkung im W2003 Enterpran class="highlight">isan>ea> auftauchte, habe ich mit dem genannten Tool "mpdetect" mal ein wenig im Server2 getestet. 

Der passende Hintergrund dazu verbirgt sich im c't-Artikel <a title="Mit Händen und Füßen - Maßnahmen und Tools zur Nutzung vieler Kerne" href="http://www.heise.de/artikel-archiv/ct/2009/7/102_kiosk">Mit Händen und Füßen - Maßnahmen und Tools zur Nutzung vieler Kernea> und das Prog dazu an class="highlight">isan>t downloadbar unter <a title="http://www.heise.de/ct/06/08/links/206.shtml" href="http://www.heise.de/ct/06/08/links/206.shtml">http://www.hean class="highlight">isan>e.de/ct/06/08/links/206.shtmla>
Wobei zu sagen an class="highlight">isan>t, daß sich das unter Linux wesentlich einfacher entweder über "numactl" von Andi Kleen oder über die Ausgabe von "/proc/cpuinfo" rausfinden ließe. ;)

Ich habe also einige Tests gemacht und meine ban class="highlight">isan>herigen Vermutungen haben sich teilwean class="highlight">isan>e bestättigt. Der Server2 sieht bei 2v.CPU-Kernen in einer VM mean class="highlight">isan>tens 2 Singlecores in einem Dual-Sockel-Board und Bilder sagen ja bekanntlich mehr als Worte. So sieht ein E6600 auf dem Host aus...
alt="" width="665" height="326" />

...und so wird in einer VM mit monitor.virtual_exec="hardware" dann dieselbe CPU angezeigt:
alt="" width="665" height="327" />

Jetzt wird es kompliziert.
Der Parameter "monitor.virtual_exec" an class="highlight">isan>t enorm wichtig. Falls dieser nicht gesetzt an class="highlight">isan>t, lautet die VMware-Vorgabe dafür "automatic". Dieser Vorgabe folgend, erscheint im "vmware.log" auf einer Conroe-CPU die Einstellung "dynamic". Leider wechselte dann bei jedem Prog-Aufruf die Erkennung der Package-ID und die Anzeige wäre damit nicht reproduzierbar. Mit der Einstellung "Software" hingegen an class="highlight">isan>t die Package-ID zumindest bei Win-Win-Systemen immer gleich der Ausgabe der Host-CPU. Eine Erklärung dafür könnte ein Eintrag im VMware-Log sein:

“Software virtualization an class="highlight">isan> incompatible with long mode on Intel EM64T CPU. Virtual execution will begin in software mode, but will automatically switch to hardware mode if an class="highlight">thean> enters long mode.”


Durch diesen ständigen Wechsel wäre dann in meinen Augen auch klar, weshalb die Last von Host und Gast mit 2 CPU-Kernen ansteigt, obwohl die VM im Leerlauf dümpelt. Wie sich das Ganze nachher in Rechenlean class="highlight">isan>tung oder dessen Verlust darstellt, müßte man mal bei Gelegenheit überprüfen...

Zum Vergleich habe ich auch mal die Ausgabe meines Q6700 als Host-CPU gepinnt:
alt="" width="665" height="335" />

 


Categories for this entry

Tags: -

Related entries:

You can comment this FAQ