Recientemente hemos comprado un servidor que ejecuta Hyper-V 2008 R2 bare metal. El servidor tiene dos procesadores Intel Xeon de cuatro núcleos con hyperthreading, así que si lo entiendo correctamente, esto nos da 16 núcleos. Dentro de Hyper-V hemos creado una máquina virtual con Windows Server 2008 R2 con 4 procesadores virtuales. La pantalla de configuración del procesador me dice que esto representa el 25% de la potencia de procesamiento total del sistema. ¿Significa esto que el sistema operativo virtual no puede aprovechar el 75% restante? Estaremos ejecutando algunas otras máquinas virtuales, pero esta es para SQL Server y nos gustaría arrojar la mayor potencia posible.
14
Respuestas:
Una vCPU solo se puede asignar a una sola CPU física. No puede tomar 4 CPU físicas y hacer una sola vCPU que sea 4 veces más rápida; simplemente no es cómo funciona.
Hyper-V se limita a asignar 4 vCPU a una VM (la última vez que lo verifiqué). Si necesita una potencia de CPU significativa, vaya a lo físico, no tiene sentido agregar sobrecarga de virtualización a algo que CPU intensivo y paralelo en primer lugar.
Además, como señala Holocryptic, si asigna 4 vCPU a una VM, esa VM no puede ejecutarse hasta que Hyper-V haya adquirido 4 núcleos físicos de CPU para ejecutarlos. Dependiendo de su configuración, esto podría ser un obstáculo importante (por ejemplo, si tiene una máquina de 6 núcleos con un montón de 4 máquinas virtuales de vCPU, solo una se ejecutará a la vez, los otros dos núcleos siempre quedarán esencialmente sin usar).Según Jake Oshins, esto no era cierto para ninguna versión de Hyper-V. Afirma que Hyper-V no utiliza la programación de pandillas para la CPU; como lo hace casi cualquier otro hipervisor. En consecuencia, si hay un núcleo de CPU físico disponible, Hyper-V puede usarlo para ejecutar una VM de CPU múltiple. (También se menciona que Hyper-V puede no usar todos los núcleos físicos disponibles en el momento debido a la partición NUMA)Nota al margen: SQL no necesariamente usa todos los núcleos que puede lanzar en primer lugar. Es realmente depende de lo que lo está utilizando y cómo la carga es paralelizable.
fuente
Sí, lo que dijo Chris. Si necesita más de 4 CPU en una máquina virtual Hyper-V, cree dos servidores SQL en virtual y extienda sus bases de datos o vaya a física. Dependiendo de su licencia de servidor SQL, es posible que pueda agregar más servidores SQL en virtual (en el mismo host físico) sin incurrir en más costos de licencia, pero lea el documento técnico de licencia virtual de SQL para obtener más información.
También estaría de acuerdo en que si SQL se está quedando sin energía de la CPU con 4 CPU virtuales, entonces tiene alguna utilización seria de la aplicación o los comandos SQL están mal escritos.
fuente
Alrededor de 4 CPU core limit:
En la sección del archivo de configuración de VM:
[procesadores] [count type = ”integer”] 16 [/ count]
Ahora tienes una CPU de 16 núcleos.
ACTUALIZACIÓN: Parece que se necesita una captura de pantalla
fuente
sigue esta guía
http://surminski.eu/2012/04/17/hyper-v-how-to-add-more-than-4-cores-to-a-virtual-machine/
puede ubicar el archivo de configuración vm xml en el directorio "Máquinas virtuales" del directorio VHD de la máquina virtual, el archivo de configuración se nombrará bajo la identificación de la máquina virtual. Debajo del enlace hay una referencia.
referencia: archivo de configuración VM xml
asegúrese de editar el archivo de configuración VM xml con notepad / notepad ++ abierto con privilegios de administrador
fuente