1

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

Я установил все упомянутое в этом другом посте:

  • Версия системы установлена на Ubuntu 64 bit
  • I/O APIC включен
  • Номер ЦП виртуальной машины установлен на 2 (максимально допустимый)
  • VT-x/AMD-V включен
  • Исполнение Cap составляет 100%

Когда я запускаю задачу с интенсивным использованием процессора в Ubuntu, он использует процессор на 100% в соответствии с менеджером задач Ubuntu, но под Windows это только ~ 70%.

Ubuntu (гость):

Использование процессора Ubuntu

Windows (хост):

Использование процессора Windows

Это не максимум, если я запускаю ресурсоемкие задачи в Windows, он достигает 100%:

Ubuntu видит только 2 процессора с 1 потоком на ядро (работает lscpu):

выход lscpu

Как я могу заставить виртуальную Ubuntu использовать всю мощность моего процессора?

2 ответа2

1

Есть несколько вещей, которые делают вещи такими, какие они есть. Поправьте меня, если я что-то не так:

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

Я некоторое время возился с виртуализацией, Windows и Linux (даже профессионально), и HyperThreading всегда вызывает подобные вопросы. Проблема в том, что появляются новые логические ядра, которые, похоже, не обладают той же мощностью, что и соответствующие ядра (плохое объяснение) ... Другим примером является противоположность, где сообщение о том, что новые процессоры были настолько быстрее, что общая загрузка системы составляет всего около 50%, в то время как нагрузка на самом деле составляет 100%.

0

VirtualBox должен иметь настройки в настройках Ubuntu "машина", где-то есть настройки CPU, где вы можете изменить максимально допустимый процент использования CPU (а также количество ядер и некоторые функции). Возможно, он установлен на максимум 70%, при желании измените его на более высокий.

Кроме того, ваш реальный процессор может быть одним из "забавных" Intel, который имеет только 2 реальных ядра, но "притворяется" иметь 4 "поддельных" ядра через гиперпоточность. Достигает ли когда-нибудь загрузка вашего процессора Windows на всех ядрах? Старый гиперпоточный процессор, который я имел, имел бы максимум только на 100% на одном "поддельном" ядре, так как было только одно реальное ядро ЦП, которое никогда не достигло бы 100% на 2 "поддельных" ядрах. Но, может быть, с тех пор изменилась Hyperthreading и Windows ....

[Обычно слышат "Почему у меня не работает процессор?"«Это другое направление; -]

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .