DatenverarbeitungsressourceSpeicherverwaltung - AWS Batch

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

DatenverarbeitungsressourceSpeicherverwaltung

Wenn der Amazon-ECS-Container-Agent eine Rechenressource in einer Rechenumgebung registriert, muss der Agent bestimmen, wie viel Speicher die Rechenressource zur Reservierung für Ihre Aufträge zur Verfügung hat. Aufgrund des Plattformspeicher-Overheads und des vom Systemkernel belegten Speichers unterscheidet sich diese Zahl von der installierten Speichermenge für Amazon EC2-Instances. Eine m4.large-Instance beispielsweise besitzt 8 GiB installierten Speicher. Dies wird jedoch nicht immer auf genau 8 192 MiB Arbeitsspeicher übersetzt, der für Aufträge verfügbar ist, wenn die Rechenressource registriert wird.

Angenommen, Sie geben 8 192 MiB für den Auftrag an und keine Ihrer Rechenressourcen verfügt über 8 192 MiB oder mehr Arbeitsspeicher, um diese Anforderung zu erfüllen. Anschließend kann der Auftrag nicht in Ihrer Datenverarbeitungsumgebung platziert werden. Wenn Sie eine verwaltete Datenverarbeitungsumgebung verwenden, AWS Batch muss einen größeren Instance-Typ starten, um die Anforderung zu erfüllen.

Das standardmäßige AWS Batch-Rechenressourcen-AMI reserviert außerdem 32 MiB Arbeitsspeicher für den Amazon-ECS-Container-Agenten und andere wichtige Systemprozesse. Dieser Speicher ist nicht für die Auftragszuweisung verfügbar. Weitere Informationen finden Sie unter Reservieren von Systemspeicher.

Der Amazon-ECS-Container-Agent verwendet die Docker-Funktion ReadMemInfo() für die Abfrage des gesamten für das Betriebssystem verfügbaren Arbeitsspeichers. Linux bietet Befehlszeilen-Dienstprogramme zur Bestimmung des gesamten Arbeitsspeichers.

Beispiel – Bestimmung des Gesamtspeichers für Linux

Der free Befehl gibt den gesamten Arbeitsspeicher zurück, der vom Betriebssystem erkannt wird.

$ free -b

Im Folgenden finden Sie eine Beispielausgabe für eine m4.large Instance, auf der das Amazon-ECS-optimierte Amazon Linux AMI ausgeführt wird.

total used free shared buffers cached Mem: 8373026816 348180480 8024846336 90112 25534464 205418496 -/+ buffers/cache: 117227520 8255799296

Diese Instance hat insgesamt 8373026816 Byte Arbeitsspeicher. Das bedeutet, dass 7985 MiB für Aufgaben verfügbar sind.

Reservieren von Systemspeicher

Wenn Sie den gesamten Speicher auf einer Rechenressource mit Ihren Aufträgen belegen, konkurrieren Ihre Aufträge möglicherweise mit kritischen Systemprozessen um den Speicher und verursachen möglicherweise einen Systemausfall. Der Amazon-ECS-Container-Agent stellt eine Konfigurationsvariable namens bereitECS_RESERVED_MEMORY. Sie können diese Konfigurationsvariable verwenden, um eine bestimmte Anzahl von MiB Arbeitsspeicher aus dem Pool zu entfernen, der Ihren Aufträgen zugewiesen ist. Damit wird dieser Arbeitsspeicher für wichtige Systemprozesse reserviert.

Das standardmäßige AWS Batch-Rechenressourcen-AMI reserviert 32 MiB Arbeitsspeicher für den Amazon-ECS-Container-Agenten und andere wichtige Systemprozesse.

Anzeigen von -DatenverarbeitungsressourceMemory (Arbeitsspeicher)

Sie können in der Amazon-ECS-Konsole oder mit der DescribeContainerInstances-API-Operation anzeigen, wie viel Speicher eine Rechenressource bei registriert. Wenn Sie versuchen, Ihre Ressourcenauslastung zu maximieren, indem Sie Ihren Aufträgen so viel Speicher wie möglich für einen bestimmten Instance-Typ bereitstellen, können Sie den für diese Rechenressource verfügbaren Speicher beobachten und dann Ihren Aufträgen diesen Speicherplatz zuweisen.

So zeigen Sie den Arbeitsspeicher für Rechenressourcen an
  1. Öffnen Sie die Konsole unter https://console.aws.amazon.com/ecs/v2.

  2. Wählen Sie Cluster und dann den Cluster aus, der Ihre Rechenressourcen hostet, die Sie anzeigen möchten.

    Der Cluster-Name für Ihre Computing-Umgebung beginnt mit dem Namen Ihrer Computing-Umgebung.

  3. Wählen Sie Infrastruktur aus.

  4. Wählen Sie unter Container-Instances die Container-Instance aus.

  5. Im Abschnitt Ressourcen und Netzwerke wird der registrierte und verfügbare Speicher für die Rechenressource angezeigt.

    Der registrierte Speicherwert ist die Rechenressource, die beim ersten Start bei Amazon ECS registriert wurde, und der Wert Verfügbarer Speicher ist die Ressource, die noch nicht Aufträgen zugewiesen wurde.