Résolution des problèmes liés à l'erreur AWS DMS « Last Error Replication task out of memory (Dernière erreur : la mémoire de la tâche de réplication est insuffisante.) Cause d'arrêt FATAL_ERROR, niveau d'erreur « FATAL »

Lecture de 4 minute(s)
0

Lorsque j'utilise AWS Database Migration Services (AWS DMS), je reçois le message d'erreur « Last Error Replication task out of memory. (Dernière erreur : la tâche de réplication est insuffisante) Cause d'arrêt : FATAL_ERROR, niveau d'erreur FATAL ».

Brève description

Lorsque vous utilisez AWS DMS, vous recevez le message d'erreur suivant : « Last Error Replication task out of memory. (Dernière erreur : la tâche de réplication est insuffisante). Cause d'arrêt : FATAL_ERROR, niveau d'erreur FATAL ». Pour trouver la cause première de l'erreur, consultez les journaux des tâches AWS DMS. Pour l'erreur précédente, les journaux fournissent les informations suivantes : « Le processus de tâche pour « XXXXXXX » a échoué car la mémoire était insuffisante ».

Pour résoudre cette erreur, choisissez une ou plusieurs des solutions suivantes :

  • Modifiez les paramètres de la tâche ou les paramètres liés à la mémoire.
  • Augmentez la classe d'instances de réplication en fonction des fluctuations des métriques Amazon CloudWatch pour les instances de réplication, telles que FreeMemory et SwapUsage.
  • Divisez une tâche en plusieurs tâches en fonction de la taille des données migrées et de la quantité de mémoire requise pour la tâche.

Solution

Remarque : Vous devez arrêter la tâche avant d'apporter des modifications. Une fois les modifications effectuées, vous devez reprendre la tâche. Les tables de bord sont rechargées à partir de zéro si la tâche s'arrête pendant la phase de chargement complet.

Modifier les paramètres de la tâche ou les paramètres liés à la mémoire

Vérifiez si vous pouvez redimensionner les paramètres des tâches ou les paramètres liés à la mémoire qui nécessitent une capacité de mémoire plus élevée. Voici quelques-uns des paramètres de tâches les plus courants à vérifier :

  • Paramètres LOB
  • Paramètres de validation, tels que ThreadCount et PartitionSize
  • Paramètres de fils parallèles, tels que ParallelLoadThreads, ParallelLoadBufferSize,ParallelLoadQueuesPerThread, ParallelApplyThreads, ParallelApplyBufferSize et ParallelApplyQueuesPerThread.
  • Appliquez par lots des paramètres tels que BatchApplyTimeoutMin, BatchApplyTimeoutMax, BatchApplyMemoryLimit et BatchSplitSize.
  • Autres paramètres de tâches liés à la mémoire, tels que MinTransactionSize, MemoryLimitTotal, MemoryKeepTime et StatementCacheSize.

Pour plus de détails sur les paramètres et les paramètres des tâches précédentes, consultez Comment AWS DMS utilise-t-il la mémoire pour la migration ?

Augmenter la classe d'instances de réplication en fonction des fluctuations des métriques Amazon CloudWatch

Vérifiez les métriques FreeMemory et SwapUsage de l'instance de réplication. Si FreeMemory diminue ou si SwapUsage augmente ou fluctue, envisagez de passer à une instance de réplication plus grande.

Pensez également à utiliser des instances à mémoire optimisées. Les instances à mémoire optimisée sont adaptées aux charges de travail gourmandes en mémoire, telles que les migrations en cours et les réplications de transactions à haut débit. Pour plus d'informations sur le type et la taille des instances de réplication, consultez Choisir la bonne instance de réplication AWS DMS pour votre migration.

Divisez une tâche en plusieurs tâches en fonction de la taille des données migrées et de la quantité de mémoire requise pour la tâche

Si l'instance de réplication comporte plusieurs tâches, vous pouvez utiliser la métrique DMS MemoryUsage pour observer la quantité de mémoire consommée par la tâche. Pour savoir pourquoi la tâche retient de la mémoire dans la phase CDC, comparez CDCChangesMemorySource et CDCChangesMemoryTarget, puis dépannez le point de terminaison respectif.

Lorsque plusieurs tâches sont en cours d'exécution sur l'instance de réplication, effectuez une ou plusieurs des actions suivantes :

  • Réduisez le nombre et le type de tâches exécutées sur l'instance de réplication.
  • Déplacez la tâche ayant échoué vers une autre instance de réplication, puis réessayez.
  • Augmentez la capacité des instances.

Pour les tâches impliquant le chargement de plusieurs tables en parallèle ou la migration de nombreuses tables et schémas, effectuez une ou plusieurs des actions suivantes :

  • Réduisez le nombre de tables chargées en parallèle.
  • Réduisez le nombre total de tables et de schémas à migrer.
  • Utilisez une tâche différente sur une autre instance de réplication pour décharger la migration de certaines tables et de certains schémas.
  • Augmentez la capacité des instances.

Informations connexes

Paramètres de tâche de métadonnées cibles

Paramètres d’ajustement du traitement des modifications

AWS Database Migration Service metrics

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an