Для виртуальных машин, когда SMP доступен на хосте, должен ли гость также иметь настройку SMP?

460
supercheetah

Я пытаюсь найти лучший "удар по моему усмотрению", так сказать, в отношении виртуальных машин и SMP.

У меня есть Intel Core 2 Duo, который, конечно же, имеет два ядра и расширения VT, и я использую Ubuntu Linux (хост) на нем с VirtualBox, который имеет Windows Vista (гость).

В настоящее время у меня есть настроенная гостевая машина для двух процессоров, чтобы дать Windows возможность управлять собственным параллелизмом, но я не уверен, что он быстрее. Я пробовал это только с одним процессором, но трудно сказать, лучше ли это.

Какие-нибудь мысли? Должен ли гость иметь два процессора?

2

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

1
Goyuix

Это действительно зависит от ваших потребностей, но в вашей ситуации, я думаю, лучше оставить SMP включенным для гостя. Я основываю это на том факте, что когда вы находитесь в виртуальной машине, вы, вероятно, пытаетесь выполнить что-то конкретное, и вам не безразлична производительность хоста или другие виртуальные машины, которые могут работать.

Впрочем, есть вероятность, что в типичных настольных компьютерах вы не делаете чего-то, что действительно демонстрирует заметные преимущества от многопроцессорных установок. А в ВМ самым большим узким местом для производительности является, вероятно, ввод-вывод. На самом деле это баланс между всеми одновременными требованиями к вашему оборудованию: ЦП, ОЗУ, ввод / вывод и т. Д.

0
Bryce

Согласно WIKI для VirtualBox :

«Поддержка SMP (до 32 виртуальных процессоров), начиная с версии 3.0»

Поэтому я предполагаю, что вы подражаете SMP виртуальным процессам, и поэтому вы, вероятно, не видите никаких реальных выгод. Мое мнение на данный момент таково, что вы можете просто придерживаться одного.

0
Montag451

Может ли ваше приложение на гостевой ОС использовать более одного ядра процессора? Насколько я знаю, в последних приложениях пока не так много параллелизма.

0
Andrew J. Brehm

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