26 votos

Mejor Práctica: vcpu por núcleo físico

Estoy tratando de encontrar algún tipo de documentación o guías de mejores prácticas para la virtualización con respecto a la provisión vcpu por núcleo físico (de la CPU). Si importa, estoy buscando en vmWare para la virtualización de la aplicación. Por ejemplo, un procesador Intel Xeon CPU puede tener 4, 8, etc. núcleos. Estoy interesado en aprender más acerca de aprovisionamiento más allá de una vCPU por un núcleo físico. El proveedor de la que estoy hablando definitivamente piensa que un solo núcleo que se puede administrar en varias vcpu.

Lo que comúnmente vemos en mi investigación hasta el momento es, "Bueno, eso depende de su aplicación." Y en ese caso, mi solicitud es de la edición de código, compilación y vinculación, las pruebas y la gestión de la configuración. Por supuesto que no todas las máquinas virtuales deben ser configurado con múltiples vcpu por núcleo, pero en el caso general.

23voto

Tina Puntos 21

Una sola CPU física puede ser utilizada como muchos vcpu. Rara vez se ejecute fuera de los recursos de la CPU en soluciones de virtualización. La memoria RAM y de almacenamiento son siempre los factores limitantes...

Recuerde, en VMware, la utilización de la CPU es representado en MHz utilizado, no de los núcleos... a Menos que usted está vinculando a todos los de su virtual Cpu al 100% TODO EL TIEMPO, no creo que su proveedor es correcta.

Veamos el siguiente clúster de sistemas de...

  • 9 hosts ESXi.
  • 160 máquinas virtuales
  • 104 física de los núcleos de la CPU a través del clúster.
  • El promedio de la máquina virtual de perfil es: 4 vCPU y 4GB de 18GB de RAM.
  • La CPU puede ser un exceso... pero recuerde que también puede ser limitada, reservado y priorizadas en la VM nivel.

enter image description here enter image description here

de otro clúster activo - 3 hosts 42 máquinas virtuales enter image description here

7voto

Reality Extractor Puntos 1240

Para ampliar ewwhite a escribir, a menos que tengan aplicaciones que explícitamente pueden tomar ventaja de varios vCPUs, o varios núcleos por vCPU no hay absolutamente cero beneficio en la asignación de los múltiples de vCPUs/núcleos a una máquina virtual. De hecho, más a menudo que no va a terminar con un bajo rendimiento en oposición a la ejecución en una sola vCPU que tiene un núcleo asignado, en parte debido a la programación de la sobrecarga necesaria para ejecutar múltiples vcpu.

FWIW, en un VDI ajuste de la cita a menudo el número es de 5 vcpu por núcleo físico. De curso que está tomando el trabajo de oficina, escritorios en cuenta. Si su VMs están realmente ocupados con la compilación de código todo el tiempo que usted puede no ser capaz de encajar 5 vcpu por núcleo físico.

La razón por la que muchas personas dicen que "depende" es porque realmente es así. Mira a tu CPU Listo valores y, a continuación, decidir si se puede poner más carga de la CPU en un sistema en particular. CPU Ready es una medida de la vCPU estar listo para ejecutar un comando, pero tiene que esperar para la física de tiempo de CPU disponible.

En su caso, si está compilando programas de gran tamaño, es muy posible que sus máquinas virtuales en realidad se necesita una gran cantidad de tiempo de CPU. Como ewwhite señaló, normalmente de virtualización tiende a ser e/S de disco y la memoria RAM limitada en lugar de la CPU limitada, aunque.

3voto

Nils Puntos 5486

El problema subyacente es básicamente el mismo que con el proceso de programación en un sistema físico. Mientras el sistema de carga es inferior a la cantidad de núcleos (o incluso procesadores lógicos, en caso de HyperThreading) todo está bien y el de los procesadores pueden manejar la carga.

Así que mientras la carga simultánea en todos los utilizados vCPUs no exceda la carga que puede ser manejado por sus núcleos físicos que todo está bien.

Para sus demandas sólo compilar es un CPU-intesivo de trabajo, que sólo es necesario de vez en cuando. Para el compilador-VMs nos allocat como muchos CPUs como disponible. Así que si hay una necesidad de compilar, se llevará a cabo tan rápido como sea posible (si su compilador soporta paralelo compilar).

Esto podría no ser cierto para un compilador-VM, que está bajo carga constante (por ejemplo, si usted proporciona un internet-servicio para hacer compila y que constantemente está siendo utilizado).

1voto

Paul Gear Puntos 1554

Una regla de oro que he visto (posiblemente en la documentación de VMware) no es para asignar más núcleos a una máquina virtual que existe físicamente en el host, ya que podría causar múltiples vCores a ser emulado en un solo núcleo, una carga de trabajo innecesaria.

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: