¿Cómo soluciono el error «ast error replication task out of memory» de AWS DMS?

4 minutos de lectura
0

Cuando utilizo AWS Database Migration Services (AWS DMS), recibo el error «Last Error Replication task out of memory. Stop Reason FATAL_ERROR Error Level FATAL».

Descripción corta

Cuando usa AWS DMS, recibe el siguiente error: «Last Error Replication task out of memory. Stop Reason FATAL_ERROR Error Level FATAL». Para encontrar la causa principal del error, consulte los registros de tareas de AWS DMS. Para el error anterior, los registros proporcionan la siguiente información: «El proceso de tarea para 'XXXXXXX' falló porque se quedó sin memoria».

Para solucionar este error, complete uno o más de estos pasos:

  • Cambie la configuración de la tarea o los parámetros relacionados con la memoria.
  • Amplíe la clase de instancia de replicación en función de las fluctuaciones en las métricas de Amazon CloudWatch para las instancias de replicación, como FreeMemory y SwapUsage.
  • Divida una sola tarea en varias tareas según el tamaño de los datos que se migran y la cantidad de memoria necesaria para la tarea.

Resolución

Nota: Debe detener la tarea antes de realizar modificaciones. Una vez que haya realizado las modificaciones, debe reanudar la tarea. Las tablas en vuelo se vuelven a cargar desde cero si la tarea se detiene durante la fase de carga completa.

Cambiar la configuración de las tareas o los parámetros relacionados con la memoria

Compruebe si puede escalar la configuración de las tareas o los parámetros relacionados con la memoria que requieren una mayor capacidad de memoria. Los siguientes son algunos de los ajustes y parámetros de tareas más comunes que se deben comprobar:

  • Configuración de LOB
  • Parámetros de validación, como ThreadCount y PartitionSize
  • Parámetros de subprocesos paralelos, como ParallelLoadThreads, ParallelLoadBufferSize, ParallelLoadQueuesPerThread, ParallelApplyThreads, ParallelApplyBufferSize y ParallelApplyQueuesPerThread.
  • Parámetros de aplicación por lotes, como BatchApplyTimeoutMin, BatchApplyTimeoutMax, BatchApplyMemoryLimit y BatchSplitSize.
  • Otras configuraciones de tareas relacionadas con la memoria, como MinTransactionSize, MemoryLimitTotal, MemoryKeepTime y StatementCacheSize.

Para obtener más información sobre la configuración y los parámetros de las tareas anteriores, consulte ¿Cómo usa AWS DMS la memoria para la migración?

Ampliar la clase de instancia de replicación en función de las fluctuaciones en las métricas de Amazon CloudWatch

Compruebe las métricas de la instancia de replicación FreeMemory y SwapUsage. Si FreeMemory disminuye o SwapUsage aumenta o fluctúa, entonces considere la posibilidad de pasar a una instancia de replicación más grande.

Además, considere la posibilidad de usar instancias optimizadas para la memoria. Las instancias optimizadas para la memoria son adecuadas para cargas de trabajo que consumen mucha memoria, como las migraciones y replicaciones continuas de transacciones de alto rendimiento. Para obtener más información sobre el tamaño y los tipos de instancias de replicación, consulte Choosing the right AWS DMS replication instance for your migration.

Divida una sola tarea en varias tareas según el tamaño de los datos que se migran y la cantidad de memoria necesaria para la tarea

Si la instancia de replicación tiene varias tareas, puede usar la métrica MemoryUsage de DMS para observar la cantidad de memoria que consume la tarea. Para determinar por qué la tarea retiene memoria en la fase de CDC, compare CDCChangesMemorySource y CDCChangesMemoryTarget, y después solucione los problemas del punto de enlace correspondiente.

Cuando se estén ejecutando varias tareas en la instancia de replicación, realice una o más de las siguientes acciones:

  • Reduzca la cantidad y el tipo de tareas que se ejecutan en la instancia de replicación.
  • Mueva la tarea fallida a una instancia de replicación diferente y vuelva a intentarlo.
  • Aumente la capacidad de las instancias.

Para las tareas en las que se cargan varias tablas en paralelo o se migran muchas tablas y esquemas, lleve a cabo una o varias de las siguientes acciones:

  • Reduzca el número de tablas que se cargan en paralelo.
  • Reduzca el número total de tablas y esquemas que se migran.
  • Utilice una tarea diferente en una instancia de replicación diferente para descargar la migración de algunas de las tablas y esquemas.
  • Aumente la capacidad de las instancias.

Información relacionada

Target metadata task settings

Change processing tuning settings

AWS Database Migration Service metrics