Jak włączyć wiele rdzeni w moim wirtualnym środowisku?


21

Zainstalowałem Ubuntu w środowisku wirtualnym za pomocą Oracle VM VirtualBox Manager i działa świetnie.

Chciałbym jednak włączyć wiele rdzeni - jak widać na poniższym obrazku, mój komputer z systemem Windows ma 2 rdzenie:

wprowadź opis zdjęcia tutaj

Teraz, kiedy uruchamiam lscpuw Ubuntu, otrzymuję następujące informacje ujawniające, że używany jest tylko 1 rdzeń:

wprowadź opis zdjęcia tutaj

Próbowałem zmienić ustawienia wirtualnego urządzenia, aby włączyć wiele procesorów, ale nie pozwoli mi to zrobić, jak pokazano na poniższym obrazku:

Wizerunek

Jak włączyć wiele rdzeni (procesorów) w moim wirtualnym środowisku?

Odpowiedzi:


18

Aby włączyć więcej niż 1 procesor na maszynie wirtualnej, potrzebne są dodatkowo następujące ustawienia:

  • 64-bitowy sprzęt wirtualnego gościa na karcie Ustawienia ogólne (dla gości 64-bitowych)

    wprowadź opis zdjęcia tutaj

  • włącz I / O APIC w zakładce Ustawienia płyty głównej

    wprowadź opis zdjęcia tutaj

  • włącz wirtualizację sprzętową (VT-x / AMD-V) w zakładce Przyspieszenie

    wprowadź opis zdjęcia tutaj

Zauważ, że jeśli uruchomisz maszynę wirtualną na wszystkich dostępnych rdzeniach, możesz doświadczyć lepszej wydajności hosta, przypisując do CPU limit wykonania.

Jeśli nie włączyłeś funkcji procesora typu hot-plug w wirtualnej skrzynce, zmiana liczby rdzeni może być wykonana tylko na maszynie, która została wyłączona .

Wzrost wydajności u gościa jest oczekiwany tylko w przypadku oprogramowania wykorzystującego kilka rdzeni. Dopiero wtedy podanie wszystkich rdzeni z limitem wykonania ma sens.


więc nie jest to możliwe w 32-bitowym Ubuntu?

1
@cipricus dzięki za powiadomienie, 64-bit jest oczywiście wymagany tylko dla 64-bitowego gościa.
Takkat

@Takkat Używam 32-bitowego systemu Ubuntu jako systemu operacyjnego gościa. Jak mogę włączyć wiele procesorów?
smwikipedia


1

Pracowałem nad programem wielowątkowym, który działał w kolejności sekwencyjnej na maszynie wirtualnej. Miałem podobny problem jak ty. Naprawiłem to przez:

  1. Zatrzymaj maszynę wirtualną lub wyjdź.
  2. Uruchom VMWare -> Wybierz komputer -> Kliknij System -> Kliknij Procesor -> Zmień procesory liczbowe.
  3. Uruchom maszynę wirtualną.

Wcześniej std :: thread :: hardware_concurrency () ze standardowego wątku zwróciło 1, ale po zmianach zwraca liczbę procesorów w ustawieniach maszyny wirtualnej.

Teraz udało mi się pomyślnie uruchomić moje programy wielowątkowe na maszynie wirtualnej.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.