Як увімкнути кілька ядер у моєму віртуальному середовищі?


21

Я встановив Ubuntu у віртуальному середовищі за допомогою Oracle VM VirtualBox Manager, і він чудово працює.

Однак я б хотів увімкнути декілька ядер - як видно із зображення нижче моєї машини Windows, має 2 ядра:

введіть тут опис зображення

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

введіть тут опис зображення

Я спробував змінити налаштування віртуальної скриньки, щоб включити кілька процесорів, але це не дозволить мені зробити так, як показано на зображенні нижче:

Зображення

Як увімкнути декілька ядер (процесорів) у моєму віртуальному середовищі?

Відповіді:


18

Щоб увімкнути більше 1 центрального процесора у вашому комп'ютері, потрібні додаткові налаштування:

  • 64-бітове віртуальне гостьове обладнання на вкладці Загальні налаштування (для 64-бітних гостей)

    введіть тут опис зображення

  • включити APIC вводу / виводу на вкладці Налаштування материнської плати

    введіть тут опис зображення

  • включити апаратну віртуалізацію (VT-x / AMD-V) на вкладці Прискорення

    введіть тут опис зображення

Зауважте, що якщо ви запускаєте свій VM на всіх доступних ядрах, ви можете відчути кращу ефективність хоста при призначенні обмеження виконання CPU.

Якщо ви не ввімкнули функцію центрального процесора гарячої підключення віртуальної скриньки, зміна кількості ядер можна здійснити лише на вимкненій машині .

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


так що це неможливо на 32-бітному Ubuntu?

1
@cipricus спасибі за повідомлення, 64-розрядні потрібні, звичайно, лише 64-бітовому гостю.
Таккат

@Takkat Я використовую 32-бітний Ubuntu в якості гостьової ОС. Як я можу ввімкнути декілька процесорів?
smwikipedia

15

Якщо ваш VM зараз працює (або "Збережено"), ви не можете змінити це значення. Спершу вимкніть живлення.


Хоча було б дуже здорово, якби ми могли міняти процесори під час виконання. Це дасть можливість придушення процесора нового виміру.
Томаш Зато - Відновити Моніку


1

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

  1. Зупиніть віртуальну машину або вийдіть.
  2. Запустіть VMWare -> Виберіть машину -> Клацніть Система -> Клацніть Процесор -> Змініть процесори чисел.
  3. Запустіть віртуальну машину.

Раніше std :: thread :: hardware_concurrency () зі стандартного потоку повернув 1, але після змін він повертає кількість ЦП у налаштуваннях Virtual Machine.

Тепер мені вдалося запустити свої багатопотокові програми на VM успішно.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.