Cuando uso la estación de trabajo VMware, puedo configurar la VM con múltiples núcleos. De hecho, lo estoy usando en una máquina con doble núcleo y 4 núcleos lógicos. Entonces, ¿realmente mejoraría el rendimiento de VMS al usar más núcleos en la VM?
Cuando uso la estación de trabajo VMware, puedo configurar la VM con múltiples núcleos. De hecho, lo estoy usando en una máquina con doble núcleo y 4 núcleos lógicos. Entonces, ¿realmente mejoraría el rendimiento de VMS al usar más núcleos en la VM?
Respuestas:
depende de lo que esté ejecutando la máquina virtual, un invitado en una máquina con n número de núcleos funcionará mejor en n-1 núcleos asignados siempre que el invitado sea capaz de utilizar múltiples CPU de manera efectiva. Desafortunadamente, la forma más sencilla de determinar esto es probarlo y ver. Normalmente comienzo con 2 y me detengo cuando me quedo sin aumento de rendimiento. Por lo general, 2 núcleos es donde veo el "punto óptimo". Pocas combinaciones de aplicaciones / os que he encontrado se escalarán mejor que eso.
Para aclarar, ¿estás diciendo que tienes una CPU de doble núcleo y que has asignado 4 CPU virtuales en la VM?
En este caso, no; si asigna más vCPU de las que tiene núcleos de ejecución física, en realidad verá una ligera reducción en el rendimiento debido a la sobrecarga de compartir los 2 núcleos físicos entre 4 núcleos virtuales (más todo lo que se ejecuta en el host físico).
Verá el mejor rendimiento de la VM al asignarle 2 vCPU.
Experimentamos hace un tiempo ( vea mi pregunta de hace un año ) con la asignación de vCPU a partir de núcleos físicos frente a núcleos lógicos (hilos) en CPU de cuatro núcleos con hyperthreading (8 vCPU asignables parecían estar disponibles). Como las respuestas que obtuve en ese momento sugirieron, y nuestra experiencia se confirmó, debe asignar el número mínimo de núcleos que pueda a cada invitado para permitir que funcione.
Al asignar más vCPU que núcleos físicos disponibles en el host, si los invitados se encontraban bajo carga simultánea, el hyperthreading no siempre era lo suficientemente rápido para cambiar el contexto de CPU entre hilos para simular efectivamente otra CPU. Esto puede llevar a cosas muy desagradables para todos los invitados, incluidos bloqueos y tiempos de espera que pueden requerir reiniciar, fsck y, peor aún, en la pila. Incluso si esto no sucede, el rendimiento a menudo será más lento para los invitados en lugar de más rápido.
Como dijo @Chris S en su comentario en aquel entonces, "siempre asigna lo menos que puedas y evitarás grandes dolores de cabeza".