Tengo un procesador i7 de cuatro núcleos con hyperthreading (8 núcleos lógicos), cuando configuré una máquina virtual para usar 8 procesadores, VirtualBox me dio una advertencia diciendo que solo tengo cuatro núcleos (lo cual es cierto) y que esto puede causar un problema de rendimiento. Pero el hyper-threading es una característica de hardware, por lo que el sistema operativo ve 8 núcleos y envía instrucciones a todos los 8. ¿Qué pasa si establecerlo en 4 hace que la VM use 2 núcleos (4 hilos) en lugar de 4 hilos simultáneos (en los 4 núcleos)? )? ¿La advertencia que recibí tiene en cuenta que mi máquina tiene hiperprocesamiento?
10
Descubrí que, aunque es posible (y posiblemente más rápido) en VirtualBox (mi experiencia fue con la versión 5.1.0) asignar vCPU a una VM basada en procesadores lógicos, uno puede tener problemas dentro del SO huésped cuando se ejecuta a alta carga . En mi caso, una máquina virtual Windows 2012 R2 con 12 vCPU en un host Ubuntu 16.04 de 8 núcleos (que informa 16 procesadores lógicos) se BSOD durante una carga de CPU alta con el mensaje de error DPC_WATCHDOG_VIOLATION. Un análisis de minivolcado con osronline.com mostró que e1g6032e.sys (el controlador de red Intel 100/1000 nativo de Windows) es la causa de la violación.
Esto me lleva a creer que el tiempo dentro del sistema operativo invitado se ve afectado negativamente al asignar vCPU en función de la capacidad del procesador lógico y ejecutar la VM a alta carga durante períodos prolongados. En mi caso, el 100% de la carga de la CPU dentro de la VM de Windows durante unos minutos daría como resultado el BSOD. Después de reducir el recuento de vCPU a 8 (que corresponde al recuento de núcleos físicos del host), la VM de Windows ya no BSOD en situaciones similares de alta carga. La documentación en línea de VirtualBox dice que uno debe hacer esto, pero no ofrece ninguna razón.
En mi entorno también había otras dos máquinas virtuales de Ubuntu ejecutándose, cada una con 8 vCPU propias. Sin embargo, la carga sobre ellos era mínima en el momento de los problemas BSOD de Windows VM.
fuente
¿La advertencia que recibí tiene en cuenta que mi máquina tiene hiperprocesamiento?
Si. Si establece el número de núcleos en una máquina virtual a un número mayor que el que tiene físicamente, el proceso de programación de tareas en Virtual Box compromete los recursos de la CPU, lo que genera problemas de rendimiento importantes.
En cuanto a la distribución de la carga entre los núcleos, ese es el trabajo del sistema operativo del host y debe comportarse en la mansión correcta.
fuente
¿Era esta una VM original para su máquina? A veces obtendrá errores peculiares si clona una VM y la mueve a otra máquina y / o cambia la configuración.
Recomiendo descargar e instalar la última versión de Virtual Box con las últimas extensiones.
He cometido los ocho núcleos y no recibo ese error con mi i7 ejecutando una VM con Ubuntu 13.10.
fuente