Speicherlimits für Instanzen konfigurieren

Sie können die Menge an Arbeitsspeicher auswählen, die für Ihre Cloud Run-Instanz bereitgestellt werden soll. Auf dieser Seite wird beschrieben, wie Sie die für Ihre Instanz verfügbare Arbeitsspeichermenge angeben.

Grundlegendes zur Arbeitsspeichernutzung

Cloud Run-Instanzen, die das zulässige Arbeitsspeicherlimit überschreiten, werden beendet.

Der für Ihre Instanz verfügbare Arbeitsspeicher muss für Folgendes ausreichen:

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

Die Größe des bereitgestellten Container-Images hat keine Auswirkungen auf den für die Instanz verfügbaren Arbeitsspeicher.

Speicherlimits festlegen und aktualisieren

Sie können Arbeitsspeicherlimits für Cloud Run-Instanzen festlegen. Standardmäßig beträgt der jeder Instanz zugewiesene Arbeitsspeicher 2 GiB .

Erforderlicher Arbeitsspeicher beim Festlegen eines CPU-Werts

Beim Festlegen eines CPU-Werts ist der folgende Arbeitsspeicher erforderlich:

CPUs Erforderlicher Arbeitsspeicher
1 vCPU 512 MiB bis 4 GiB
2 vCPUs 512 MiB bis 8 GiB
4 vCPUs 2 bis 16 GiB
6 vCPUs 4 bis 24 GiB
8 vCPUs 4 bis 32 GiB

Maximale Arbeitsspeichermenge

Sie können maximal 32 Gibibyte (32 Gi) Arbeitsspeicher konfigurieren.

Mit benutzerdefinierten Organisationsrichtlinien können Sie ein maximales Arbeitsspeicherlimit erzwingen.

Mindestspeicher

Die Mindesteinstellung für den Arbeitsspeicher beträgt 512 MiB.

Kostengesichtspunkte

Die Kosten für Ihre Cloud Run-Instanz hängen unter anderem von der Arbeitsspeicherkonfiguration und der Dauer der Aktivität Ihrer Ressource ab. Wenn Sie Ihre Ressourcen überdimensionieren, können Ihre Kosten steigen. So ermitteln Sie, welche Arbeitsspeicherkonfiguration für Ihre Ressource am besten geeignet ist:

  1. Legen Sie eine anfängliche Baseline-Konfiguration fest.
  2. Behalten Sie die Messwerte zur Arbeitsspeichernutzung in Cloud Monitoring im Blick, während Sie das System unter Last testen.
  3. Passen Sie die Konfiguration nach Bedarf an.

Wenn die Arbeitsspeichernutzung konstant niedrig ist, sollten Sie den zugewiesenen Arbeitsspeicher reduzieren. Wenn die Latenz hoch und die Arbeitsspeichernutzung nahe 100 % liegt, sollten Sie den zugewiesenen Arbeitsspeicher erhöhen. Wenn Fehler aufgrund von Out of Memory (OOM) auftreten, sollten Sie den zugewiesenen Arbeitsspeicher erhöhen oder Ihre Anwendung so ändern, dass Speicherlecks vermieden werden und weniger Arbeitsspeicher verwendet wird. Im Cloud Monitoring-Dashboard finden Sie weitere Informationen zur Arbeitsspeichernutzung.

Weitere Informationen finden Sie unter Cloud Run-Preise oder schätzen Sie die Kosten mit dem Preisrechner.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren und Bereitstellen von Cloud Run-Instanzen benötigen:

Eine Liste der IAM-Rollen und -Berechtigungen im Zusammenhang mit Cloud Run finden Sie unter IAM-Rollen für Cloud Run und IAM-Berechtigungen für Cloud Run. Wenn Ihre Cloud Run-Instanz mit Google Cloud APIs wie Cloud-Clientbibliotheken verknüpft ist, lesen Sie die Konfigurationsanleitung für Dienstidentitäten. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Bereitstellungsberechtigungen und Zugriff verwalten.

Speicherlimits konfigurieren

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 für eine Cloud Run-Instanz mit der Google Cloud CLI oder YAML festlegen:

gcloud

Mit dem folgenden Befehl können Sie die Arbeitsspeicherzuweisung einer bestimmten Instanz aktualisieren:

gcloud beta run instances update INSTANCE --memory SIZE

Ersetzen Sie Folgendes:

  • INSTANCE: durch den Namen der Instanz
  • SIZE: eine Arbeitsspeichergröße aus der Tabelle für CPU und Arbeitsspeicher. Das Format für die Größe ist eine feste oder Gleitkommazahl gefolgt von einer Einheit: G oder M, die dem Gigabyte oder Megabyte entspricht, oder verwenden Sie die Potenz von zwei Entsprechungen: Gi oder Mi, die Gibibyte bzw. Mebibyte entsprechen.

Sie können die Speicherlimits auch während der Bereitstellung festlegen. Verwenden Sie folgenden Befehl:

gcloud beta run instances deploy --image IMAGE_URL --memory SIZE

Ersetzen Sie Folgendes:

  • IMAGE_URL: ein Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/hello:latest.
  • SIZE: eine Arbeitsspeichergröße aus der Tabelle für CPU und Arbeitsspeicher. Das Format für die Größe ist eine feste oder Gleitkommazahl gefolgt von einer Einheit: `G` oder `M`, die dem Gigabyte oder Megabyte entspricht, oder verwenden Sie die Potenz von zwei Entsprechungen: `Gi` oder `Mi`, die Gibibyte bzw. Mebibyte entsprechen.

YAML

  1. Wenn Sie eine neue Instanz erstellen, überspringen Sie diesen Schritt. Wenn Sie eine vorhandene Instanz aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. Das folgende Beispiel enthält die YAML-Konfiguration:

    apiVersion: run.googleapis.com/v1
    kind: Instance
    metadata:
      name: INSTANCE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      containers:
      - image: IMAGE_URL
        resources:
          limits:
            memory: SIZE

    Ersetzen Sie Folgendes:

    • INSTANCE: durch den Namen Ihrer Cloud Run-Instanz.
    • IMAGE_URL: ein Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/hello:latest.
    • SIZE: die ausgewählte Arbeitsspeichergröße. Das Format ist eine feste oder Gleitkommazahl gefolgt von einer Einheit: G oder M, die dem Gigabyte oder Megabyte entspricht, bzw. oder verwenden Sie die Potenz von zwei Entsprechungen: Gi oder Mi die Gibibyte bzw. Mebibyte entsprechen.
  3. Erstellen oder aktualisieren Sie die Instanz mit dem folgenden Befehl:

    gcloud beta run instances replace instance.yaml