Wie behebe ich den AWS DMS-Fehler „Last error replication task out of memory“?

Lesedauer: 3 Minute
0

Bei der Verwendung von AWS Database Migration Services (AWS DMS) erhalte ich die Fehlermeldung "Last Error Replication task out of memory. Stop Reason FATAL_ERROR Error Level FATAL".

Kurzbeschreibung

Wenn du bei der Verwendung von AWS DMS die folgende Fehlermeldung erhältst: "Last Error Replication task out of memory. Stop Reason FATAL_ERROR Error Level FATAL". Um die Ursache des Fehlers zu ermitteln, überprüfe die AWS DMS-Aufgabenprotokolle. Für den vorherigen Fehler enthalten die Protokolle die folgenden Informationen: “Task process for 'XXXXXXX' failed because it ran out of memory”.

Führe einen oder mehrere der folgenden Schritte aus, um diesen Fehler zu beheben:

  • Ändere die Aufgabeneinstellungen oder speicherbezogenen Parameter.
  • Skaliere die Replikations-Instance-Klasse auf der Grundlage von Schwankungen der Amazon CloudWatch-Metriken für Replikations-Instances wie FreeMemory und SwapUsage.
  • Teile eine einzelne Aufgabe in mehrere Aufgaben auf, basierend auf der Größe der migrierten Daten und der Menge an Arbeitsspeicher, die für die Aufgabe benötigt wird.

Lösung

Anmerkung: Du musst die Aufgabe beenden, bevor du Änderungen vornimmst. Nachdem du die Änderungen vorgenommen hast, muss du die Aufgabe fortsetzen. Bordtabellen werden von Grund auf neu geladen, wenn die Aufgabe während der vollständigen Ladephase unterbrochen wird.

Ändern der Aufgabeneinstellungen oder speicherbezogenen Parameter

Prüfe, ob du die Aufgabeneinstellungen oder speicherbezogenen Parameter, die eine höhere Speicherkapazität benötigen, skalieren kannst. Im Folgenden sind einige der am häufigsten zu überprüfenden Aufgabeneinstellungen und Parameter aufgeführt:

  • LOB-Einstellungen
  • Validierungsparameter wie ThreadCount und PartitionSize
  • Parallele Threadparameter wie ParallelLoadThreads, ParallelLoadBufferSize, ParallelLoadQueuesPerThread, ParallelApplyThreads, ParallelApplyBufferSize und ParallelApplyQueuesPerThread.
  • Batch-Anwendungsparameter wie BatchApplyTimeoutMin, BatchApplyTimeoutMax, BatchApplyMemoryLimit und BatchSplitSize.
  • Andere speicherbezogene Aufgabeneinstellungen, wie MinTransactionSize, MemoryLimitTotal, MemoryKeepTime und StatementCacheSize.

Weitere Informationen zu den vorherigen Aufgabeneinstellungen und -parametern findest du unter Wie verwendet AWS DMS Speicher für die Migration?

Skalieren der Replikations-Instance-Klasse auf der Grundlage von Schwankungen der Amazon CloudWatch-Metriken

Überprüfe die FreeMemory- und SwapUsage-Metriken der Replikations-Instance. Wenn FreeMemory abnimmt oder SwapUsage entweder steigt oder schwankt, solltest du erwägen, auf eine größere Replikations-Instance umzusteigen.

Erwäge auch die Verwendung speicheroptimierter Instances. Speicheroptimierte Instances eignen sich für speicherintensive Workloads, wie z. B. laufende Migrationen und Replikationen von Transaktionen mit hohem Durchsatz. Weitere Informationen zur Größe und zum Typ der Replikations-Instance findest du unter Auswählen der richtigen AWS DMS-Replikations-Instance für die Migration.

Teile eine einzelne Aufgabe in mehrere Aufgaben auf, basierend auf der Größe der migrierten Daten und der Menge an Arbeitsspeicher, die für die Aufgabe benötigt wird

Wenn die Replikations-Instance mehrere Aufgaben hat, kannst du die DMS-MemoryUsage-Metrik verwenden, um zu beobachten, wie viel Speicher die Aufgabe verbraucht. Um festzustellen, warum die Aufgabe in der CDC-Phase Speicher bereithält, vergleiche CDCChangesMemorySource und CDCChangesMemoryTarget und behebe dann den jeweiligen Endpunkt.

Wenn mehrere Aufgaben auf der Replikations-Instance ausgeführt werden, führe eine oder mehrere der folgenden Aktionen aus:

  • Reduziere die Anzahl und Art der Aufgaben, die auf der Replikations-Instance ausgeführt werden.
  • Verschiebe die fehlgeschlagene Aufgabe auf eine andere Replikations-Instance, und versuche es dann erneut.
  • Erhöhe die Kapazität der Instance.

Führe für Aufgaben, bei denen mehrere Tabellen parallel geladen werden oder bei denen viele Tabellen und Schemata migriert werden, eine oder mehrere der folgenden Aktionen aus:

  • Reduziere die Anzahl der Tabellen, die parallel geladen werden.
  • Reduziere die Gesamtzahl der Tabellen und Schemata, die migriert werden.
  • Verwende eine andere Aufgabe auf einer anderen Replikations-Instance, um die Migration einiger Tabellen und Schemata auszulagern.
  • Erhöhe die Kapazität der Instance.

Ähnliche Informationen

Aufgabeneinstellungen für Zielmetadaten

Ändern von Einstellungen für die Verarbeitungsoptimierung

Metriken für AWS Database Migration Service