8 votos

¿Por qué aumenta rendimiento crecientes procesadores lógicos en Hyper-V para la máquina virtual.

A mi entender, las máquinas virtuales (suponiendo que el peso relativo es aún) recibir una parte igual del procesador. Cuando la máquina virtual se da poco de tiempo de procesamiento, no importa si la máquina virtual se está viendo de un solo núcleo a utilizar o varios núcleos, puesto que el proceso sale de una matriz de procesadores en el host de hyper-v independientemente. Sin embargo, cuando me puse el "procesador lógico" valor de 1 a 4 en hyper-v para un determinado VM, veo un enorme aumento de rendimiento.

Especificaciones sobre mi configuración actual son aproximadamente de: Host de Hyper-V cuenta con 32 gb de ram, 24 procesadores lógicos (palabra mal?), un par de TB de espacio.

VM se asignan 6 gb de ram, 1 o 4 núcleos, un par de cientos de GB de espacio y de ejecución 2008 R2.

Tengo experiencia algo similar en el pasado Hyper-V configuraciones.

3voto

dyasny Puntos 11858

La cantidad de CPUs virtuales no importa. El software que se ejecuta en la máquina virtual no es consciente del hecho de que en una VM y que el host es capaz de más de lo que la máquina virtual se presenta. Así que si usted está ejecutando un software que puede tomar ventaja de varios núcleos de la CPU, en una máquina virtual que tiene un solo núcleo asignado, el software sólo horario de un núcleo para sus tareas, y la VM así, sólo utilizando un host núcleo en un momento. Una vez que usted dé la VM más núcleos, el software puede programar más tareas en paralelo, que los anfitriones de la CPU va a programar para la VM.

Tenga cuidado de no dar Vm demasiado, para no causar conflicto, si una VM tiene más núcleos virtuales que el host no, la máquina virtual se disputa en contra de sí mismo, y en el caso de las pandillas programada hipervisores, como vmware, el VM nunca será capaz de ejecutar nada en absoluto (la opción de overallocate es bloqueada por la capa de gestión de curso).

2voto

Ryan Ries Puntos 33449

Máquinas virtuales en cada hipervisor, que yo sepa, son capaces de utilizar otros CPUs virtuales en que se programa adicional concurrente hilos de ejecución.

Es exactamente esa capa de abstracción entre el físico de la máquina y de la máquina virtual que hace que no funcione de la manera que usted describe. La VM no es consciente de cómo muchos de los núcleos de la máquina física. La VM no "ve" las CPUs físicas (o núcleos) en la máquina física. El hipervisor da la VM cómo siempre muchas CPUs virtuales, y el SO huésped utiliza los CPUs virtuales para programar adicionales subprocesos simultáneos... El número total de CPUs virtuales el hipervisor de las manos a las máquinas virtuales se pueden incluso superar el número de CPUs físicas/núcleos del equipo.

Dicho de otra manera, una máquina virtual, cuando se asigna un único vCPU, los horarios de sus hilos como si sólo había una CPU. No importa cuántos núcleos son en la física subyacente de la máquina. (Aunque vale la pena señalar que la física de la máquina se puede programar que una VM hilo sobre un núcleo físico de un hilo cuántico, o segmento de tiempo, y, a continuación, ejecutarla en otro núcleo físico de la siguiente hora programada para que se ejecute. La máquina virtual no tiene idea alguna de lo que está sucediendo, aunque. Todo lo que sabe es que sólo se puede programar un subproceso a la vez, una después de la otra, porque sólo tiene una CPU virtual.)

Y vamos a ser muy claros acerca de nuestros términos aquí. Asignar vCPUs, o CPUs virtuales, para las máquinas virtuales, no "núcleos". Núcleos (por que supongo que te refieres a el tratamiento físico de las unidades que comparten un solo zócalo) no son iguales a las vcpu. Hay una capa de abstracción entre ellos. Si una máquina virtual sólo tiene 1 vCPU asignado a la misma, no sólo se puede programar un hilo para que se ejecute en un tiempo. Es por eso que la máquina virtual se ejecuta más rápido con 2 -4 Cpu virtuales asignadas a ella - porque ahora es capaz de programar más de un hilo para ejecutar de forma simultánea.

Sin embargo, definitivamente hay una ley de los rendimientos decrecientes aquí, como un excesivo número de CPUs virtuales incurrir en un mayor y más gastos en cosas como la sincronización, etc.

Hay ligeras diferencias entre la forma de Hyper-V y VMware hipervisores programación de la máquina virtual de hilos de ejecución, y difieren en su enfoque de recursos físicos "saturación", pero este es un buen concepto general para empezar.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: