Я очень часто использую VMPlayer. (Если вы не знаете, что такое VMPlayer, выйдите ...)

Мне очень интересно, как процессоры используются виртуальными машинами. Как мы, пользователи VMPlayer, уже знаем, отдавая ОЗУ ВМ, это означает, что хост не может использовать ее, пока виртуальная машина не будет закрыта.

Но как это работает с процессорами? Я сделал графику с четырьмя вариантами ...! Скажите, пожалуйста, какой из четырех вариантов правильный ... посмотрите на легенду справа.

1 ответ1

0
  1. Как, на земле, вам удалось установить 5 процессоров на машину? (Полагаю, это только пример, но не удержался)
  2. VMplayer, хотя он и использует некоторые модули ядра, все равно работает как пользовательский процесс (по крайней мере, на гостевой машине как vmware-vmx в linux, проверьте его с помощью top), и, следовательно, он может быть заменен как любой другой процесс. Таким образом, хост все еще может использовать назначенную память, отключая виртуальную машину, хотя производительность будет невыносимо снижаться.
  3. Поскольку VMplayer - это в основном процесс пользовательского уровня, он будет работать на любом процессоре, назначенном в тот же момент. Он не должен занимать или проживать (каким-либо образом) в процессоре. Таким образом, в любой отдельный момент он может принадлежать любому процессору, а затем изменяться в соответствии с командами операционной системы.

С сайта VMware я скопировал:

Когда виртуальная машина запланирована, ее виртуальные процессоры запланированы для запуска на физических процессорах.

Следовательно, ОС хоста будет планировать виртуальный процессор, поэтому ОС хоста будет определять, где гостевая ОС vmplayer будет запускаться каждый раз по кванту (или по расписанию, если вы предпочитаете). Также подумайте, что каждый vCPU может быть назначен на что угодно: физический процессор, ядро или даже поток. Поток не может быть выделен какому-либо процессу, и процесс не может быть всегда назначен одному и тому же потоку. Это бессмысленно.

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