CPU intermitente al 100 % en todas las máquinas virtuales

CPU intermitente al 100 % en todas las máquinas virtuales

Somos una tienda pequeña que ejecuta un Dell T420 (CPU dual, solo uno presente, 6 núcleos) con 32 GB de RAM como nuestro servidor principal. Solo tenemos 5 VM, una de las cuales es nuestro WSE 2012 DC.

De vez en cuando, y a un ritmo para el cual no hemos podido establecer un patrón confiable, todas nuestras máquinas virtuales aumentan simultáneamente al 100% de CPU. El anfitrión se mantiene tranquilo con un 4-5%. Un arranque en caliente del host no proporciona alivio, pero un arranque en frío al menos devuelve las cosas a su caja hasta que el problema vuelva a ocurrir.

A veces podemos disfrutar de una semana o más de mar en calma; a veces sólo un día. Un patrón poco fiable parece ser que se inicia en algún momento durante un período de inactividad prolongado, es decir, durante la noche. Un examen de los registros de temperatura del servidor nos llevó primero a sospechar un sobrecalentamiento, pero una mayor investigación sobre incidentes recientes ha echado a perder esa pista.

También encontramos descripciones de problemas similares en los foros de Dell, con afirmaciones de resolución instalando la última ronda de actualizaciones de Dell. Recientemente nos involucramos en un proyecto para hacer precisamente eso (además, fue toda una aventura sacar ~700 GB de VHD de manera segura y luego volver a colocarlos en esa máquina), pero para nuestra total consternación, no ayudó.

Estamos absolutamente desconcertados. También lo es el soporte de Microsoft (o al menos lo es el soporte de primer nivel, aunque intentan no actuar como tal). Estoy incluyendo debajo de nuestra salida SystemInfo.

¿Alguien sabe por dónde empezar a buscar?

Gracias

=====================================

Nombre de host: SERVIDOR1
Nombre del sistema operativo: Microsoft Hyper-V Server 2012 R2
Versión del sistema operativo: 6.3.9600 N/A Compilación 9600
Fabricante del sistema operativo: Microsoft Corporation
Configuración del sistema operativo: servidor independiente
Tipo de compilación del sistema operativo: sin multiprocesador
Propietario registrado: usuario de Windows
Organización registrada:   
Identificación del producto: 06401-029-0000043-76293
Fecha de instalación original: 3/4/2014, 4:07:15 p.m.
Hora de inicio del sistema: 4/5/2014, 1:56:47 p.m.
Fabricante del sistema: Dell Inc.
Modelo del sistema: PowerEdge T420
Tipo de sistema: PC basada en x64
Procesador(es): 1 Procesador(es) instalado(s).
                           [01]: Intel64 Familia 6 Modelo 45 Paso 7 Intel genuino ~2200 Mhz
                           [CPU Intel(R) Xeon(R) E5-2430 0 a 2,20 GHz] (agregado manualmente)
Versión del BIOS: Dell Inc. 2.1.2, 20/01/2014
Directorio de Windows: C:\Windows
Directorio del sistema: C:\Windows\system32
Dispositivo de arranque: \Device\HarddiskVolume1
Configuración regional del sistema: en-us;inglés (Estados Unidos)
Configuración regional de entrada: en-us;inglés (Estados Unidos)
Zona horaria: (UTC-09:00) Alaska
Memoria física total: 32.723 MB
Memoria física disponible: 12,716 MB
Memoria virtual: Tamaño máximo: 37,587 MB
Memoria virtual: Disponible: 17,129 MB
Memoria virtual: En uso: 20,458 MB
Ubicación(es) del archivo de página: C:\pagefile.sys
Dominio: OIT
Servidor de inicio de sesión: \\SERVER1
Revisión(s): 31 revisiones instaladas.
                           [01]: KB2843630
                           [02]: KB2862152
                           [03]: KB2868626
                           [04]: KB2876331
                           [05]: KB2883200
                           [06]: KB2884846
                           [07]: KB2887595
                           [08]: KB2892074
                           [09]: KB2893294
                           [10]: KB2894179
                           [11]: KB2898514
                           [12]: KB2898871
                           [13]: KB2901101
                           [14]: KB2901128
                           [15]: KB2903939
                           [16]: KB2904266
                           [17]: KB2908174
                           [18]: KB2909210
                           [19]: KB2911106
                           [20]: KB2913760
                           [21]: KB2916036
                           [22]: KB2917929
                           [23]: KB2919394
                           [24]: KB2919442
                           [25]: KB2922229
                           [26]: KB2923300
                           [27]: KB2923768
                           [28]: KB2928193
                           [29]: KB2928680
                           [30]: KB2930275
                           [31]: KB2939087
Tarjeta(s) de red: 3 NIC(es) instaladas.
                           [01]: Gigabit Ethernet Broadcom NetXtreme
                                 Nombre de conexión: NIC1
                                 DHCP habilitado: No
                                 Direcciones IP)
                           [02]: Gigabit Ethernet Broadcom NetXtreme
                                 Nombre de conexión: NIC2
                                 DHCP habilitado: Sí
                                 Servidor DHCP: 192.168.1.12
                                 Direcciones IP)
                                 [01]: 192.168.1.135
                                 [02]: fe80::915b:8de0:712e:29f1
                           [03]: Adaptador Ethernet virtual Hyper-V
                                 Nombre de conexión: vEthernet (NIC externa 1_interna)
                                 DHCP habilitado: No
                                 Direcciones IP)
                                 [01]: 192.168.1.11
                                 [02]: fe80::2d35:f582:4958:9eb2
Requisitos de Hyper-V: se ha detectado un hipervisor. No se mostrarán las funciones necesarias para Hyper-V.

== EDITAR =======================

Encontré la solución a este problema; Esperé más de un año para asegurarme de que no encontráramos más casos del problema.

Moderadores: Me gustaría solicitar una reapertura de la pregunta para poder publicar la respuesta.

Respuesta1

Después de más de un año de espera para demostrar que la solución es válida, finalmente puedo publicar esta respuesta.

La configuración predeterminada del BIOS de Dell tiene habilitados los estados C, lo que coloca la computadora en modo de bajo consumo durante los tiempos de inactividad. Esto es lo que hace que las máquinas virtuales alcancen un uso del 100 % de la CPU en un host de hipervisor (VMWare, Citrix incluido).

La solución es establecer la configuración del Perfil del sistema en el BIOS en Rendimiento, en contraposición a Rendimiento por vatio [OS] o Rendimiento por vatio [DAPC] (siendo este último el valor predeterminado).

La documentación relevante de Dell, pág. 3:

http://en.community.dell.com/techcenter/extras/m/white_papers/20161975/download

Y esta respuesta de uno de los pocos ingenieros de soporte de Dell que está familiarizado con el problema:

La versión corta es: los C-States desactivan núcleos de procesador adicionales durante los tiempos de inactividad. Para las máquinas virtuales que están vinculadas a un núcleo (esto está controlado por el sistema operativo, no creo que sea configurable), esto podría provocar que se bloqueen, ya que intentan realizar acciones con recursos que ya no existen ante sus ojos.

En términos generales, los C-States se usan generalmente en elementos como servidores de respaldo, servidores de función secundaria (dns de respaldo, dhcp, controladores de dominio, etc.) para que los servidores de respaldo puedan permanecer encendidos, pero en un modo de bajo consumo para ahorrar energía.

Puede encontrar documentación adicional aquí:

http://en.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface

En pocas palabras, el funcionamiento inactivo de un servidor Dell siempre debe estar desactivado (establecido en Rendimiento) para los hosts del hipervisor.

Gracias a Eddy Simons de Kitsap Bank por ayudarme a encontrar esta solución.

Respuesta2

No está claro cuál es el problema; eso ya lo sabes. No tenemos ninguna posibilidad de decirle cuál es la causa.

Sin embargo, puedes ejecutar algunas pruebas:

  • Construir máquina virtual 1

    • Ejecute una tarea intensiva de CPU en esta VM constantemente
      (realice millones de cálculos matemáticos complejos por segundo)
  • Construir máquina virtual 2

    • Ejecute una tarea con uso intensivo de RAM en esta VM constantemente
      (cree una matriz gigante en la memoria, elimínela, repita)
  • Construir máquina virtual 3

    • Ejecute una tarea intensiva de DISCO en esta VM constantemente
      (leer/escribir/eliminar millones de líneas hacia/desde un archivo)
  • Construir máquina virtual 4

    • Ejecute una tarea intensiva de RED en esta VM constantemente
      (copiar archivos hacia/desde un recurso compartido SMB)

Espere hasta que el problema vuelva a ocurrir y observe los datos de rendimiento en cada uno de estos servidores.
¿Cuál fue el más afectado?
¿Alguno no se vio afectado en absoluto?

Mi conjetura es que sus discos apestan y la CPU está esperando a que se completen las operaciones de E/S antes de continuar, lo que puede hacer que algunas aplicaciones bloqueen la CPU.

Respuesta3

Me alegro de haber encontrado esto. Tengo un servidor 2012R2 que ejecuta Hyper-v. AMD, CPU de 6 núcleos. Llevaba más de un año funcionando perfectamente. De repente comencé a ver máquinas virtuales a las que no se podía conectar, ni con RDP ni con Hyper-V Connect. La única opción era APAGAR la VM. El cierre no obtuvo respuesta. Entonces... desconecta el enchufe virtual de la pared. Encender.

El síntoma era que la máquina individual parecía estar usando el 100% de su CPU asignada (por ejemplo: una máquina virtual de un núcleo en un host de seis núcleos estaba fijada en un 16%).

El problema fue esporádico. Sin rima ni razón aparente.

Finalmente se me ocurrió que esto coincidía con mi intento fallido de actualizar de 32 a 64 GB en ese mobo. ESE problema era que podía conseguir que 1, 2 o 3 unidades de memoria de 16 GB funcionaran para 16, 32 o 48 GB, pero no cuatro unidades de 64 GB. Mucho juego con la configuración del BIOS, etc. No hay alegría en ese frente. Fue entonces cuando descubrí la maravillosa característica de la VM para habilitar la memoria dinámica. ¡¡Resulta que podría sobrevivir sin el concierto 64 después de todo!!

Supongo que activé la administración de energía para la CPU durante mis retoques y luego apareció este problema.

He desactivado APM en la BIOS. Pasarán un par de días antes de que esté 60% seguro de que esto lo solucionó. Un par de semanas para cantar victoria. Pero esto SIENTE como una buena razón para el problema.

Han pasado 24 horas y hasta ahora todo bien.

Dedos cruzados.

¡¡Gracias por la información!!

información relacionada