Wie kann ich mehr virtuelle CPU-Prozessorkerne emulieren, als unter Windows physisch verfügbar sind?

4367
Basit Anwer

Gibt es eine Möglichkeit, die Anzahl logischer / physischer Prozessoren für Windows wie die Virtualisierung (VM) zu emulieren?

Ich muss Prozessoren von mehr als 64 simulieren und einige kleinere Funktionen einiger C ++ - Aufrufe in Windows Server 2008 R2 sehen


Edit: Ich brauche nur das System, um zu sagen, dass es mehr Kerne hat, Leistung und Genauigkeit keine Rolle spielen

4
Können Sie genauer sein, was Sie wollen? Möchten Sie sehen, dass das System Ihnen mehr Prozessoren gibt? Oder möchten Sie, dass das System den Code so ausführt, wie er es hätte, wenn es mehr Prozessoren hätte? Benötigen Sie Genauigkeit? Benötigen Sie Leistung? David Schwartz vor 12 Jahren 0
Nun, eigentlich ist mein Grund vielleicht dumm / longshot, aber ich wollte das hier unter http://stackoverflow.com/questions/10877182/getprocessaffinitymask-returns-processaffinty-und-systemaffinity-as-1-overflow#comment14175013_10877182 nachlesen Basit Anwer vor 12 Jahren 1
Siehe auch [Serverfault] (http://serverfault.com/questions/9313/how-can-i-emulate-more-virtual-cpu-than-physically-available). Diogo vor 12 Jahren 1
Ich habe mit VirtualBox, QEMU, KVM und OpenVZ experimentiert. Immer, wenn ich mehr Kerne auswählte, die der Server tatsächlich zur Verfügung hatte (einschließlich HTT), würden die virtuellen Maschinen eine Durchforstung erhalten. Es gefiel ihnen nicht, "getäuscht" zu werden, dass es 64 Prozessoren gab, obwohl es tatsächlich nur 32 waren. kobaltz vor 12 Jahren 1
Dies bedeutet, dass ein virtuelles Betriebssystem getäuscht werden kann, wenn es der Meinung ist, dass es mehr CPUs als physisch verfügbar haben kann Basit Anwer vor 12 Jahren 0
VirtualBox erlaubt nur die Verdoppelung der tatsächlichen Anzahl von CPUs. Können wir nicht erhöhen? Basit Anwer vor 12 Jahren 0
@Diogo kannst du bitte den gleichen Kommentar in den Antwortabschnitt einfügen, damit ich ihn als richtig markieren kann :) Basit Anwer vor 12 Jahren 0
@KiNGPiN Ich hatte es gepostet, aber ich habe es gelöscht, weil jemand aus irgendeinem Grund einen Downvoting durchgeführt hatte. Nicht gelöscht und bearbeitet. Diogo vor 12 Jahren 0

1 Antwort auf die Frage

5
Diogo

Ja, es gibt einen Weg, tatsächlich gibt es auch einen Open-Source-Prozessor-Emulator namens QEMU, den Sie mit dem -smp XArgument verwenden können:

QEMU ist ein generischer Emulator und Virtualizer für Open Source-Maschinen.

Bei Verwendung als Maschinenemulator kann QEMU OS und Programme für eine Maschine (z. B. eine ARM-Platine) auf einer anderen Maschine (z. B. Ihrem eigenen PC) ausführen. Durch die Verwendung der dynamischen Übersetzung wird eine sehr gute Leistung erzielt.

Bei der Verwendung als Virtualisierer erzielt QEMU nahezu native Leistung, indem der Gastcode direkt auf der Host-CPU ausgeführt wird. QEMU unterstützt Virtualisierung bei der Ausführung unter dem Xen-Hypervisor oder unter Verwendung des KVM-Kernelmoduls unter Linux. Bei Verwendung von KVM kann QEMU x86-, Server- und Embedded-PowerPC- und S390-Gäste virtualisieren.

Wenn Sie mehr über die Kernemulation erfahren möchten, lesen Sie diesen Artikel in Abschnitt 2 - "Der CPU-Emulationskern" oder sogar in diesem Beitrag auf ServerFault.

Ach ja, da QEMU tatsächlich die gesamte CPU virtualisiert, anstatt Passthrough durchzuführen. Sie verlieren an Leistung, sind aber VIEL flexibler. Journeyman Geek vor 12 Jahren 2
Gute beschreibende Antwort. Vielen Dank :) Basit Anwer vor 12 Jahren 0