Wie aktiviere ich mehrere Kerne in meiner virtuellen Umgebung?

20

Ich habe Ubuntu in einer virtuellen Umgebung mit Oracle VM VirtualBox Manager installiert und es funktioniert großartig.

Ich möchte jedoch mehrere Kerne aktivieren - wie in der Abbildung unten gezeigt, verfügt mein Windows-Computer über zwei Kerne:

Bildbeschreibung hier eingeben

Wenn ich das lscpuin Ubuntu starte, erhalte ich die folgenden Informationen, die aufzeigen, dass nur 1 Kern verwendet wird:

Bildbeschreibung hier eingeben

Ich habe versucht, die Einstellungen der virtuellen Box zu ändern, um mehrere Prozessoren zu aktivieren, dies ist jedoch nicht möglich, wie in der folgenden Abbildung dargestellt:

Bild

Wie aktiviere ich mehrere Kerne (Prozessoren) in meiner virtuellen Umgebung?

Hasse Andersen
quelle

Antworten:

17

Um mehr als 1 CPU in Ihrer VM zu aktivieren, sind zusätzlich folgende Einstellungen erforderlich:

  • 64-Bit-Hardware für virtuelle Gäste auf der Registerkarte Allgemeine Einstellungen (für 64-Bit-Gäste)

    Bildbeschreibung hier eingeben

  • Aktivieren Sie I / O APIC auf der Registerkarte Motherboard-Einstellungen

    Bildbeschreibung hier eingeben

  • Aktivieren Sie die Hardwarevirtualisierung (VT-x / AMD-V) auf der Registerkarte "Beschleunigung"

    Bildbeschreibung hier eingeben

Beachten Sie, dass Sie möglicherweise eine bessere Hostleistung erzielen, wenn Sie Ihre VM auf allen verfügbaren Kernen ausführen, wenn Sie der CPU eine Ausführungsbeschränkung zuweisen.

Wenn Sie die Hot-Plug-CPU- Funktion der VirtualBox nicht aktiviert haben , kann die Anzahl der Kerne nur auf einem Computer geändert werden, der heruntergefahren wurde .

Eine Leistungssteigerung des Gastes ist nur bei Software zu erwarten, die mehrere Kerne nutzt. Nur dann ist es sinnvoll, alle Kerne mit einer Ausführungskappe zu versehen.

Takkat
quelle
ist das also auf einem 32 bit Ubuntu nicht möglich?
1
@cipricus danke für den Hinweis, 64-Bit wird natürlich nur für einen 64-Bit-Gast benötigt.
Takkat
@Takkat Ich verwende 32-Bit-Ubuntu als Gastbetriebssystem. Wie kann ich mehrere CPUs aktivieren?
Smwikipedia
15

Wenn Ihre VM gerade ausgeführt wird (oder "Gespeichert" ist), können Sie diesen Wert nicht ändern. Schalten Sie zuerst Ihre VM aus.

0x80
quelle
Obwohl es wirklich cool wäre, wenn wir Prozessoren zur Laufzeit austauschen könnten. Das würde der CPU-Drosselung eine neue Dimension verleihen.
Tomáš Zato - Wiedereinsetzung von Monica
2
Virtualbox unterstützt CPU-Hot-Plugging
brunoqc
1

Ich arbeitete an einem Multithread-Programm, das auf einer virtuellen Maschine nacheinander ausgeführt wurde. Ich hatte ähnliche Probleme wie Sie. Ich habe es behoben durch:

  1. Stoppen Sie die virtuelle Maschine oder beenden Sie sie.
  2. Starten Sie VMWare -> Computer auswählen -> Klicken Sie auf System -> Klicken Sie auf Prozessor -> Ändern Sie die Anzahl der Prozessoren.
  3. Starten Sie die virtuelle Maschine.

Früher hat std :: thread :: hardware_concurrency () vom Standardthread 1 zurückgegeben, aber nach Änderungen wird die Anzahl der CPUs in den Einstellungen der virtuellen Maschine zurückgegeben.

Jetzt konnte ich meine Multithread-Programme erfolgreich auf einer VM ausführen.

Prashant Nidgunde
quelle