Запуск Ubuntu в VirtualBox під Windows 8.1 не використовує процесор на 100%


1

Я запускаю Ubuntu 14.10 64 біт під Windows 8.1 64 біт за допомогою VirtualBox 4.3.10. У мене процесор Intel Core i5-2410M, з 2 фізичними ядрами та включеною HyperThreading та віртуалізацією.

Я встановив усе, що згадується в цій іншій публікації :

  • Версія системи встановлена ​​на 64-бітну версію Ubuntu
  • APIC вводу / виводу увімкнено
  • Номер CPU VM встановлений на 2 (максимально дозволений)
  • Увімкнено VT-x / AMD-V
  • Виконання обмеження на 100%

Коли я запускаю в Ubuntu завдання, що займає процесор, він використовує процесор на 100% відповідно до диспетчера завдань Ubuntu, але в Windows це лише ~ 70%.

Ubuntu (гість):

Використання процесора Ubuntu

Windows (хост):

Використання процесора Windows

Це не максимум, якщо я запускаю інтенсивні завдання процесора в Windows, він досягає 100%:

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

Ubuntu бачить лише 2 процесора з 1 потоком на ядро ​​(працює lscpu):

lscpu вихід

Як я можу змусити віртуальний ubuntu використовувати всю мою процесорну потужність?


Більшість систем резервують процесор для власних завдань, якщо б ви не працювали на голому металі, ви б не досягли 100% використання на хост-машині.
Даніель В. Кромптон

Гаразд, але я можу виконувати інші важкі завдання в хост-системі, поки мій гість на 100% використовує процесор, що збільшує використання процесора в хост-системі, але не зменшується на гостьовій системі. Тому, здається, у моєму процесорі все ще є потужність, яку я не можу використовувати в гостьовій системі.
хунядим

Відповіді:


1

Є кілька речей, завдяки яким речі виглядають такими, якими вони є. Виправте мене, якщо у мене щось не так:

  • HyperThreading представляється двома додатковими ядрами у вашому двоядерному процесорі, але не буде діяти як справжні ядра. HT надасть вам максимум 30% збільшення продуктивності та 10% у реальних програмах. Повне завантаження вашого хоста Windows ніколи не покаже 100% завантаження кожного логічного процесора в диспетчері завдань. Диспетчер завдань також може приховати завантаження простору ядра та лише теперішнє завантаження в просторі користувача.
  • Ви представили два логічних процесора: s для вашого віртуального комп'ютера, що становитиме до 50% загального завантаження системи на хості Windows.
  • Якщо припустити, що 100% навантаження на гостя дорівнює 100% навантаження на кожен представлений логічний процесор, ви спричините 50% загального навантаження на хост Windows, а також з іншими речами, які також працюють, мабуть, загалом 68% .

Я вже деякий час (навіть професійно) баюся з віртуалізацією, Windows та Linux, і HyperThreading завжди викликає подібні питання. Проблема полягає в тому, що з'являються нові логічні ядра, які, схоже, не мають такої ж потужності, як власні ядра (погане пояснення) ... Інший приклад - навпаки, де повідомлення про те, що нові CPU: s були настільки швидшими, що загальна завантаження системи становить лише близько 50%, тоді як навантаження дійсно становить 100%.


1.) Так, я розумію, що таке HT. Але насправді менеджер завдань показує всі 4 (віртуальні) ядра на 100%, якщо я роблю щось інтенсивне процесора на стороні хоста, коли віртуальна машина працює на повну потужність: i.imgur.com/dWDfePg.png Це означає, що гість не використовувати повну потужність процесора (тому що я можу робити інші речі на стороні господаря, поки гість на 100%, що збільшує завантаження процесора).
хунядим

2.) Так, я знаю, що гостьовий Linux бачить 2 ядра із лише однією ниткою на кожному (як зазначено в lscpu у запитанні) - значить, немає гіперточення. Але я не можу встановити номер CPU на 4: i.imgur.com/RymrM7V.png , і як свідчить документація ( virtualbox.org/manual/ch03.html#settings-processor ): "Ви не повинні налаштовувати віртуальні машини на використовуйте більше ядер CPU, ніж у вас є фізично доступних (справжні ядра, немає гіперточок). "
хунядим

Але питання все ще має місце: чи можу я (і якщо так, то як) досягти того, щоб гостьова ОС могла використовувати всю мою процесорну потужність?
хунядим

@hunyadym, щоб змусити VM отримати всю наявну потужність процесора, вимкніть його та встановіть кількість CPU в чотири.
mingalsuo

0

VirtualBox повинен мати налаштування під налаштуваннями "машинного" Ubuntu, десь є параметри процесора, де ви можете змінити максимально допустиме використання CPU% (та кількість ядер та деякі функції також). Ймовірно, встановлено 70% максимум, за бажанням змініть його на вище.

Крім того, ваш справжній процесор може бути одним із "смішних" інтелектів, що має лише 2 справжні ядра, але "робить вигляд", що має 4 "підроблені" ядра через гіперточування. Чи досягає використання вашого процесора Windows коли-небудь 100% на всіх ядрах? Старий гіпертоковий процесор, який у мене був, мав би колись максимум на 100% на одному "підробленому" ядрі, оскільки був лише один реальний ядро ​​процесора, він ніколи не міг досягти 100% на 2 "підроблених" ядрах. Але, можливо, Hypterthreading & windows змінився з тих пір ...

[Зазвичай чуйте "Чому мій процесор максується?" це інший напрямок; -]


Я думаю, що це параметр "Виконання кришки", який ви згадали, але (як я вже згадував у запитанні) він уже встановлений на 100% (мої налаштування: i.imgur.com/RymrM7V.png ; вибачте, він знаходиться на угорській мові, подібний англійський екран тут: i.stack.imgur.com/UkRK5.jpg ). І так, з Windows я можу використовувати ЦП на 100%: i.imgur.com/dWDfePg.png
hunyadym

Це схоже на налаштування там. Гммм ... можуть бути інші параметри, які можуть вплинути на нього, pae / nx не перевіряється на угорській фотографії, але зміна, яка може не дати завантажувати Ubuntu (може змінити назад або "повернутися до знімка"). Не впевнений, чому б інакше, можливо, просто не можна використовувати більше процесора з цим Windows і Ubuntu virtualbox ...?
Xen2050
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.