Speicherlimits konfigurieren

Erfahren Sie, wie Sie Limits für den Arbeitsspeicher festlegen, der von Ihren Containerinstanzen in Cloud Run for Anthos in Google Cloud verwendet wird.

Grundlegendes zur Speichernutzung

Cloud Run for Anthos-Containerinstanzen, die die zulässige Speichergrenze überschreiten, werden beendet.

Folgendes wird auf den verfügbaren Arbeitsspeicher Ihrer Containerinstanz angerechnet:

  • Ausführen der ausführbaren Datei einer Anwendung, da die ausführbare Datei in den Arbeitsspeicher geladen werden muss
  • Zuweisen von Arbeitsspeicher im Anwendungsprozess
  • Schreiben von Dateien in das Dateisystem

Die Größe des bereitgestellten Container-Images wird nicht auf den verfügbaren Arbeitsspeicher angerechnet.

Maximale Arbeitsspeichermenge

Die maximal konfigurierbare Arbeitsspeicherkapazität ist durch die Konfiguration Ihres GKE-Clusters begrenzt.

Speicher optimieren

So können Sie den maximalen Arbeitsspeicherbedarf für einen Dienst ermitteln: (Vorhandener Arbeitsspeicher) + (Angeforderter Speicher) * (Gleichzeitigkeit des Dienstes).

Entsprechend gilt:

  • Zusammen mit der Gleichzeitigkeit eines Dienstes sollten Sie auch das Speicherlimit erhöhen, um Spitzenlasten abzufangen.

  • Wenn Sie die Gleichzeitigkeit des Dienstes verringern, können Sie auch das Speicherlimit verringern, um Speicherkosten zu sparen.

Weitere Informationen dazu, wie Sie den Speicherbedarf pro Anfrage verringern können, finden Sie unter Tipps für Entwickler: globale Variablen.

Speicherlimits festlegen und aktualisieren

Jede Konfigurationsänderung führt zur Erstellung einer neuen Überarbeitung. Für nachfolgende Überarbeitungen gilt automatisch dieselbe Konfigurationseinstellung, sofern Sie sie nicht explizit aktualisieren.

Sie können Arbeitsspeicherlimits mit der Cloud Console, dem gcloud-Befehlszeilentool oder einer YAML-Datei festlegen, wenn Sie einen neuen Dienst bereitstellen oder einen vorhandenen Dienst aktualisieren und eine Überarbeitung bereitstellen:

Console

  1. Rufen Sie Cloud Run for Anthos in Google Cloud auf.

  2. Klicken Sie auf Dienst erstellen, wenn Sie einen neuen Dienst für die Bereitstellung konfigurieren. Wenn Sie einen vorhandenen Dienst konfigurieren möchten, klicken Sie auf den Dienst und dann auf Neue Überarbeitung bearbeiten und bereitstellen.

  3. Klicken Sie unter Erweiterte Einstellungen auf Container.

    Bild

  4. Wählen Sie die gewünschte Arbeitsspeichergröße aus der Drop-down-Liste Zugewiesener Speicher aus.

  5. Klicken Sie auf Erstellen oder Bereitstellen.

Befehlszeile

  • Aktualisieren Sie für vorhandene Dienste das Speicherlimit, indem Sie den Befehl gcloud kuberun core services update mit dem Parameter --memory ausführen.

    gcloud kuberun core services update SERVICE --memory SIZE
    

    Ersetzen Sie:

    • SERVICE durch den Namen des Dienstes.
    • SIZE durch die gewünschte Arbeitsspeichergröße. Geben Sie die Größe als Fest- oder Fließkommazahl gefolgt von einer Einheit ein: G, M oder K für Gigabyte, Megabyte oder Kilobyte, oder verwenden Sie die entsprechenden Zweierpotenz-Angaben: Gi, Mi, Ki für Gibibyte, Mebibyte oder Kibibyte.
  • Legen Sie für neue Dienste das Speicherlimit fest, indem Sie den Befehl gcloud kuberun core services create mit dem Parameter --memory ausführen:

    gcloud kuberun core services create SERVICE --image=IMAGE_URL --memory SIZE
    

    Ersetzen Sie:

    • SERVICE durch den Namen des Dienstes.
    • IMAGE_URL durch einen Verweis auf das Container-Image, z. B. gcr.io/myproject/my-image:latest.
    • SIZE durch die gewünschte Arbeitsspeichergröße. Geben Sie die Größe als Fest- oder Fließkommazahl gefolgt von einer Einheit ein: G, M oder K für Gigabyte, Megabyte oder Kilobyte, oder verwenden Sie die entsprechenden Zweierpotenz-Angaben: Gi, Mi, Ki für Gibibyte, Mebibyte oder Kibibyte.

YAML

Wenn Sie eine Konfiguration Ihres bestehenden Dienstes mithilfe einer YAML-Datei ändern möchten, erhalten Sie eine Kopie der aktuellen Konfiguration. Bearbeiten und speichern Sie die Änderungen und in einer lokalen Datei. Anschließend stellen Sie diese Änderungen für Ihren Dienst bereit.

  1. Lassen Sie die Konfiguration als YAML anzeigen und kopieren Sie dann die Konfiguration Ihres Dienstes in eine lokale Datei, z. B. service.yaml:

    gcloud kuberun core services describe SERVICE --format yaml

    Ersetzen Sie SERVICE durch den Namen Ihres Cloud Run for Anthos-Dienstes.

  2. Aktualisieren Sie in Ihrer lokalen Datei das Attribut memory:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE_NAME
    spec:
      template:
        spec:
          containers:
          – image: IMAGE_URL
            resources:
              limits:
                memory: SIZE

    Ersetzen Sie SIZE durch die gewünschte Speichergröße. Geben Sie die Größe als Fest- oder Fließkommazahl gefolgt von einer Einheit ein: G, M oder K für Gigabyte, Megabyte oder Kilobyte, oder verwenden Sie die entsprechenden Zweierpotenz-Angaben: Gi, Mi, Ki für Gibibyte, Mebibyte oder Kibibyte.

  3. Ersetzen Sie den Dienst mit dem folgenden Befehl durch die neue Konfiguration:

    gcloud beta run services replace service.yaml