Este documento describe cómo solucionar problemas de bloqueos suaves de vCPU. Se produce un bloqueo suave cuando la vCPU de una instancia de máquina virtual (VM) no puede ejecutar una nueva tarea durante más de 20 segundos. La mayoría de los bloqueos suaves son causados por errores en el software de la aplicación.
Los bloqueos suaves pueden hacer que las máquinas virtuales dejen de responder durante períodos cortos de tiempo, interrumpan el acceso SSH a las máquinas virtuales y activen tiempos de espera de aplicación o conmutación por error. Las máquinas virtuales que experimentan un bloqueo suave también pueden tener una utilización de CPU inusualmente alta o baja, dependiendo de la causa exacta del bloqueo suave.
Identificar bloqueos suaves
Para identificar si su máquina virtual está experimentando un bloqueo suave, realice una de las siguientes acciones:
- Si anteriormente habilitó el registro de salida del puerto serie para su máquina virtual, revise la salida del puerto serie para obtener un seguimiento de la pila de bloqueo suave.
- Revise los registros del sistema operativo de su VM (
/var/log/messages
) para obtener un seguimiento de la pila de bloqueo suave.
Ejemplo de seguimiento de pila de bloqueo suave
watchdog: BUG: soft lockup - CPU#3 stuck for 22s!
Para detectar futuros bloqueos suaves, puede hacer lo siguiente:
Cree una política de alertas basada en registros para el siguiente registro:
resource.type="gce_instance" log_id("serialconsole.googleapis.com/serial_port_1_output") textPayload=~"watchdog.*lockup"
Solucionar problemas de bloqueos suaves
Una vez que haya identificado que se está produciendo un bloqueo suave, intente los siguientes pasos de solución de problemas para resolver el problema:
- Consulte el sitio del proveedor de su sistema operativo para detectar errores conocidos con la versión de su sistema operativo. A veces puede encontrar referencias a módulos específicos del kernel en el seguimiento de la pila que sugiere una función u operación particular involucrada.
- Identifique si el bloqueo suave se repite con alguna frecuencia, como por ejemplo coincidiendo con una carga alta o ciertas actividades. Si los bloqueos suaves se correlacionan con una carga alta, es posible que necesite reconfigurar su carga de trabajo, por ejemplo, usando una máquina virtual más grande o dividiendo la carga entre más máquinas virtuales.
- Compruebe si los bloqueos suaves se correlacionan con algún cambio en su entorno de ejecución, como nuevas implementaciones de software o actualizaciones de imágenes del sistema operativo.
- Evalúe si se ha producido algún evento de mantenimiento en el momento del bloqueo suave, revisando los registros de auditoría para los registros de auditoría de eventos del sistema.
Si los pasos siguientes para la solución de problemas no resolvieron el problema, presente un caso de soporte e incluya toda la información que recopiló durante la solución de problemas.
Mejores prácticas para evitar bloqueos suaves
Para ayudar a evitar que sus máquinas virtuales experimenten bloqueos suaves, recomendamos implementar las siguientes mejores prácticas:
- Asegúrese de tener configurados los componentes redundantes adecuados para su sistema, como clústeres de alta disponibilidad, para proporcionar una capacidad de conmutación por error si una máquina virtual en particular experimenta un bloqueo temporal prolongado. Para obtener más información, consulte Diseño de sistemas resilientes .
- Para cargas de trabajo con uso intensivo de computación, considere utilizar familias de máquinas optimizadas para computación .
- Pruebe su carga de trabajo con eventos de mantenimiento simulados para conocer cómo se desempeña su carga de trabajo durante la migración en vivo (si está habilitada), particularmente durante las pruebas de carga.
- Si está ejecutando un kernel de Linux personalizado o módulos personalizados en su VM, pruebe los nuevos cambios bajo carga antes de implementarlos en su entorno de producción. Confirme que sus cambios personalizados no lo descalifiquen para recibir soporte de su proveedor de sistema operativo.
- Mantenga su sistema operativo actualizado. Para obtener más información, consulte Detalles del sistema operativo .