Sanal çevremde birden çok çekirdeği nasıl etkinleştiririm?

17

Ubuntu'yu Oracle VM VirtualBox Manager'ı kullanarak sanal bir ortama kurdum ve harika çalışıyor.

Ancak, birden çok çekirdeği etkinleştirmek istiyorum. Aşağıdaki resimde görüldüğü gibi, Windows makinemin altında 2 çekirdek var:

Şimdi Ubuntu'da lscpu 'yi çalıştırdığımda, sadece 1 çekirdeğin kullanıldığını gösteren şu bilgileri alıyorum:

Birden çok işlemciyi etkinleştirmek için sanal kutunun ayarlarını değiştirmeyi denedim, ancak aşağıdaki resimde gösterildiği gibi kullanmama izin vermiyor:

Sanal çevremde birden çok çekirdeği (işlemcileri) nasıl etkinleştiririm?

    
sordu Hasse Andersen 25.10.2013 15:25

3 cevap

15

Sanal Makinenizde 1'den fazla CPU'yu etkinleştirmek için, aşağıdaki ayarların eklenmesi gerekir:

  • Genel ayarlar sekmesinde

    64 bit sanal misafir donanımı (64 bit misafirler için)

  • Anakart ayarları sekmesinde I / O APIC'yi etkinleştirin

  • Hızlandırma sekmesindeki donanım sanallaştırmayı (VT-x / AMD-V) etkinleştirin

VM'nizi tüm çekirdeklerde çalıştırırsanız, CPU'ya bir yürütme başlığı atarken daha iyi bir ana bilgisayar performansı yaşayabileceğinizi unutmayın.

Sanal kutunun değiştirilmesiyle ilgili hot-plug CPU özelliğini etkinleştirmediyseniz çekirdek sayısı sadece kapatıldı olan bir makinede yapılabilir.

Konfordaki bir performans artışı, yalnızca birkaç çekirdekten yararlanan yazılımlar için beklenmelidir. Ancak o zaman tüm çekirdekler yürütme kapağına sahip olur.

    
verilen cevap Takkat 25.10.2013 15:47
13

Sanal makineniz şu anda çalışıyorsa (veya "Kayıtlı"), bu değeri değiştiremezsiniz. Önce sanal makinenizi kapatın.

    
verilen cevap 0x80 25.10.2013 16:12
1

Sanal makinede sıralı olarak yürütülen çok iş parçacıklı bir program üzerinde çalışıyordum. Seninkiyle benzer bir problemim vardı. Şunu düzelttim:

  1. Sanal makineyi durdurun veya çıkın.
  2. VMWare'i Başlat - & gt; Makine seç - & gt; Tıkla Sistemi - & gt; İşlemci - & gt; Numara işlemcileri değiştir.
  3. Sanal Makineyi Başlat.

Önceki iş parçacığı std :: thread :: hardware_concurrency (), standart iş parçacığı 1'den döndü, ancak değişikliklerden sonra, Sanal Makine'nin ayarlarında CPU'ların sayısını döndürür.

Şimdi, çok iş parçacıklı programımı sanal makinede başarıyla çalıştırabiliyorum.

    
verilen cevap Prashant Nidgunde 06.08.2016 19:57

Etiketlerdeki diğer soruları oku