12 votos

KVM y virtual a física de la CPU de la asignación de

Soy un familiar de finales de comer a la virtualistion de fiesta, así que tendrás que perdonarme si esto parece una pregunta obvia.

Si tengo un servidor con 12 núcleos disponibles, cada KVM huéspedes tienen acceso a todos los 12 núcleos? Entiendo KVM hace uso de el planificador de Linux, pero eso es donde mi entendimiento de "lo que pasa después", finalizó.

Mi razón de preguntar es, el 10 o tan distintas tareas que se van a ejecutar en huéspedes KVM (para fines de aislamiento para facilitar las actualizaciones) no utilizar un solo núcleo 100% del tiempo, para a partir de ahí parece un desperdicio tener a asignar 1 CPU virtual para cada huésped - vamos a estar fuera de los núcleos del conseguir-ir con un "completo", de inactividad del servidor para mostrar.

Dicho de otra manera, suponiendo que mi descripción anterior, hace 1 CPU virtual en realidad equivale a 12 núcleos físicos en términos de potencia de procesamiento? O es que no se cómo funciona?

Muchas gracias

Steve

10voto

Chris Thorpe Puntos 9128

Una CPU virtual equivale a 1 núcleo físico, pero cuando su VM intenta procesar algo, que potencialmente puede ejecutarse en cualquiera de los núcleos que pasan a estar disponibles en ese momento. El programador se encarga de esto, y la VM no es consciente de ello. Puede asignar varios vCPUs a una máquina virtual que le permite ejecutar simultáneamente a través de varios núcleos.

Los núcleos son compartidos entre todas las máquinas virtuales según sea necesario, por lo que podría tener un 4-núcleo del sistema, y 10 VMs corriendo con 2 vcpu asignado a cada uno. VMs compartir todos los núcleos del sistema bastante eficiente como sea determinado por el programador. Este es uno de los principales beneficios de la virtualización de decisiones en el uso de la mayoría de los recursos suscritos a varias instancias del sistema operativo.

Si su VMs están tan ocupados que tienen que competir por el tiempo de la CPU, el resultado es que el VMs pueden tener que esperar hasta el tiempo de la CPU. De nuevo, esto es transparente para el VM y manejado por el programador.

Yo no estoy familiarizado con KVM, pero todo lo anterior es el comportamiento genérico para la mayoría de los sistemas de virtualización.

3voto

dyasny Puntos 11858

una CPU virtual es un hilo en el qemu-kvm proceso. qemu-kvm es, por supuesto, multiproceso.
a menos que usted pin procesos específicos de la Cpu, el programador del sistema asignará los hilos de tiempo de CPU de los núcleos disponibles, es decir, cualquier vCPU puede terminar encima de conseguir ciclos de CPU de cualquier núcleo físico, a menos que específicamente se cubrió específicos núcleo(s)

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: