Как включить несколько ядер в моем виртуальном окружении?

18

Я установил Ubuntu в виртуальной среде, используя Oracle VM VirtualBox Manager, и он отлично работает.

Однако я бы хотел включить несколько ядер - как видно на изображении ниже моей машины Windows, есть 2 ядра:

Теперь,когдаязапускаюlscpuвUbuntu,яполучаюследующуюинформацию,показывающую,чтоиспользуетсятолько1ядро:

Я попытался изменить настройки виртуального окна, чтобы включить несколько процессоров, но это не позволит мне сделать это, как показано на рисунке ниже:

Как включить несколько ядер (процессоров) в моей виртуальной среде?

    
задан Hasse Andersen 25.10.2013 в 15:25
источник

3 ответа

16

Чтобы включить более 1 ЦП в вашей виртуальной машине, необходимы следующие настройки:

  • 64-разрядное виртуальное гостевое оборудование на вкладке «Общие настройки» (для 64-разрядных гостей)

  • включитьAPICввода/выводанавкладкенастроекматеринскойплаты

  • включить аппаратную виртуализацию (VT-x / AMD-V) на вкладке «Ускорение»

Обратитевнимание,чтоесливызапуститесвоювиртуальнуюмашинунавсехядрах,выможетеполучитьлучшуюпроизводительностьхостаприназначенииограниченияпроизводительностипроцессору.

Есливыневключили функцию hot-plug CPU в изменении виртуального билета от количества ядер можно выполнить только на машине, которая была выключена .

Повышение производительности в гостевой системе ожидается только для программного обеспечения, которое использует несколько ядер. Только тогда, когда все ядра с шапкой исполнения имеют смысл.

    
ответ дан Takkat 25.10.2013 в 15:47
14

Если ваша виртуальная машина в настоящий момент запущена (или «Сохранена»), вы не можете изменить это значение. Сначала выключите свою виртуальную машину.

    
ответ дан 0x80 25.10.2013 в 16:12
1

Я работал над многопоточной программой, которая выполнялась в последовательном порядке на виртуальной машине. У меня была аналогичная проблема, как и у вас. Я исправил его:

  1. Остановить виртуальную машину или выйти.
  2. Запустить VMWare - > Выберите машину - > Click System - > Нажмите «Процессор» - > Измените числовые процессоры.
  3. Запустить виртуальную машину.

Раньше std :: thread :: hardware_concurrency () из стандартного потока возвращался 1, но после изменений он возвращает количество CPU в настройках виртуальной машины.

Теперь мне удалось успешно запустить многопоточные программы на виртуальной машине.

    
ответ дан Prashant Nidgunde 06.08.2016 в 19:57