Comment activer plusieurs cœurs dans mon environnement virtuel?

17

J'ai installé Ubuntu dans un environnement virtuel en utilisant Oracle VM VirtualBox Manager et cela fonctionne très bien.

Cependant, je voudrais activer plusieurs cœurs - comme le montre l’image ci-dessous, ma machine Windows a 2 cœurs:

Maintenant, quand j'exécute lscpu dans Ubuntu, je reçois les informations suivantes révélant que 1 seul cœur est utilisé:

J'ai essayé de modifier les paramètres de la boîte virtuelle pour activer plusieurs processeurs, mais cela ne me permettra pas de le faire comme indiqué dans l'image ci-dessous:

Comment puis-je activer plusieurs cœurs (processeurs) dans mon environnement virtuel?

    
posée Hasse Andersen 25.10.2013 - 15:25
la source

3 réponses

15

Pour activer plus d’un processeur sur votre machine virtuelle, les paramètres suivants sont nécessaires:

  • Matériel invité virtuel 64 bits dans l'onglet Paramètres généraux (pour les invités 64 bits)

  • Activer APIC E / S dans l’onglet Paramètres de la carte mère

  • activer la virtualisation matérielle (VT-x / AMD-V) dans l'onglet Accélération

Notez que si vous exécutez votre machine virtuelle sur tous les cœurs disponibles, vous obtiendrez de meilleures performances lors de l’attribution d’un plafond d’exécution au processeur.

Si vous n'aviez pas activé la fonctionnalité CPU hot-plug de la modification de la boîte virtuelle Le nombre de cœurs ne peut être effectué que sur une machine fermée .

Une amélioration des performances de l’invité est à prévoir uniquement pour les logiciels utilisant plusieurs cœurs. Il est donc logique de donner à tous les cœurs un bouchon d’exécution.

    
réponse donnée Takkat 25.10.2013 - 15:47
la source
13

Si votre machine virtuelle est en cours d'exécution (ou "enregistrée"), vous ne pouvez pas modifier cette valeur. Mettez d'abord votre VM hors tension.

    
réponse donnée 0x80 25.10.2013 - 16:12
la source
1

Je travaillais sur un programme multithread qui s'exécutait dans un ordre séquentiel sur une machine virtuelle. J'ai eu le même problème que vous avez eu. Je l'ai corrigé par:

  1. Arrêtez la machine virtuelle ou quittez.
  2. Lancer VMWare - & gt; Sélectionnez la machine - & gt; Cliquez sur Système - & gt; Cliquez sur Processor - & gt; Changer les processeurs de numéro.
  3. Démarrer la machine virtuelle.

Plus tôt std :: thread :: hardware_concurrency () du thread standard a renvoyé 1, mais, après les modifications, il retourne le nombre de processeurs sur les paramètres de la machine virtuelle.

Maintenant, j'ai pu exécuter mes programmes multithread sur VM avec succès.

    
réponse donnée Prashant Nidgunde 06.08.2016 - 19:57
la source

Lire d'autres questions sur les étiquettes