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

1023
hunyadym

Я использую 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 CPU usage

Windows (хост):

Windows CPU usage

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

enter image description here

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

lscpu output

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

1
Большинство систем резервируют ЦП для своих собственных задач, если только вы не работаете на голом железе, вы не достигнете 100% загрузки на хост-машине. Daniël W. Crompton 9 лет назад 0
Хорошо, но я могу выполнять другие тяжелые задачи в хост-системе, пока мой гость использует ЦП на 100%, что увеличивает использование ЦП в хост-системе, но не уменьшает в гостевой системе. Похоже, в моем процессоре все еще есть питание, которое я не могу использовать в гостевой системе. hunyadym 9 лет назад 0

2 ответа на вопрос

1
mingalsuo

There a few things that make things appear as they are. Correct me if I got something wrong:

  • HyperThreading appears as two additional cores on your dual-core CPU but will not act as real cores. HT will give you a maximum of 30% performance gain and 10% in real world applications. Full load on your Windows host will never show 100% load on each logical CPU in task manager. Task manager may also hide kernel-space load and only present user-space load.
  • You have presented two logical CPU:s to your VM, which will amount up to 50% total system load on the Windows host.
  • Assuming that 100% load on the guest equals 100% load on each presented logical CPU, you will cause 50% total load on the Windows host and with other things also running, apparently 68% in grand total.

I've been fiddling with virtualization, Windows and Linux for some time (even professionally) and HyperThreading is always causing questions like this. The issue is that new logical cores appear that do not appear to have the same power as proper cores (poor explanation)... Another example is the opposite where the message is that the new CPU:s were so much faster that total system load is only about 50% while the load really is 100%.

1.) Да, я понимаю, что такое HT. Но на самом деле диспетчер задач показывает все 4 (виртуальных) ядра на 100%, если я делаю что-то интенсивное использование процессора на стороне хоста, пока виртуальная машина работает на полную мощность: http://i.imgur.com/dWDfePg.png Это означает, что guest не использует полную мощность процессора (потому что я могу выполнять другие действия на стороне хоста, пока guest работает на 100%, что увеличивает нагрузку на процессор). hunyadym 9 лет назад 0
2.) Да, я знаю, что гостевой Linux видит 2 ядра только с одним потоком на каждом (как говорится в lscpu в вопросе) - поэтому нет гиперпоточности. Но я не могу установить номер процессора 4: http://i.imgur.com/RymrM7V.png и в качестве документации (https://www.virtualbox.org/manual/ch03.html#settings-processor) говорит: «Вы не должны настраивать виртуальные машины для использования большего количества ядер ЦП, чем доступно физически (реальные ядра, без гиперпотоков)». hunyadym 9 лет назад 0
Но все еще остается вопрос: могу ли я (и если да, как) достичь того, чтобы гостевая ОС могла использовать всю мощность моего процессора? hunyadym 9 лет назад 0
@hunyadym, чтобы заставить ВМ получать всю доступную мощность ЦП, выключите ее и установите количество ЦП на четыре. mingalsuo 9 лет назад 0
0
Xen2050

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

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

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

Я думаю, что это настройка ограничения выполнения, которую вы упомянули, но (как я уже упоминал в вопросе) она уже установлена ​​на 100% (мои настройки: http://i.imgur.com/RymrM7V.png; извините, она на венгерском языке, аналогично Экран на английском здесь: http://i.stack.imgur.com/UkRK5.jpg). И да, из Windows я могу использовать процессор на 100%: http://i.imgur.com/dWDfePg.png hunyadym 9 лет назад 0
Это похоже на обстановку там. Хммм ... могут быть другие настройки, которые могут повлиять на это, pae / nx не отмечен на венгерской фотографии, но изменение, которое может не позволить загрузиться Ubuntu (может измениться назад или "вернуться к снимку"). Не уверен, почему еще, может быть, просто не может использовать больше процессора с этим windows & Ubuntu virtualbox ...? Xen2050 9 лет назад 0

Похожие вопросы