Speicherlimits für Jobs konfigurieren

Sie können die Speichermenge für Ihren Cloud Run-Job auswählen. Auf dieser Seite wird beschrieben, wie Sie die Menge an Arbeitsspeicher angeben, die für Ihren Job verfügbar ist.

Grundlegendes zur Arbeitsspeichernutzung

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

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

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

Die Größe des bereitgestellten Container-Images wirkt sich nicht auf den für die Instanz verfügbaren Arbeitsspeicher aus.

Speicherlimits festlegen und aktualisieren

Sie können Arbeitsspeicherlimits für Cloud Run-Jobs festlegen. Standardmäßig beträgt der jedem Job zugewiesene Speicher und der einer Funktion zugewiesene Speicher 256 MiB.

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 vCPU 512 MiB bis 8 GiB
4 vCPU 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.

Mindestspeicher

Die Mindestspeichereinstellung beträgt 512 MiB.

Kostengesichtspunkte

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

  1. Legen Sie eine erste Baseline-Konfiguration fest.
  2. Behalten Sie die Messwerte zur Speichernutzung 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 Arbeitsspeicherauslastung nahe 100 % ist, 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 können Sie die Speichernutzung besser nachvollziehen.

Weitere Informationen finden Sie unter Cloud Run – Preise oder im Preisrechner.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren von Cloud Run-Jobs 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 Ihr Cloud Run-Job mitGoogle 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

Für einen Cloud Run-Job müssen mindestens 512Mi angegeben werden.

Sie können Arbeitsspeicherlimits für einen Cloud Run-Job über dieGoogle Cloud Console, die gcloud CLI, YAML oder Terraform konfigurieren:

Console

  1. Rufen Sie in der Google Cloud Console die Seite „Cloud Run“ auf:

    Zu Cloud Run

  2. Wählen Sie im Cloud Run-Navigationsmenü Jobs aus:

    1. Wenn Sie einen neuen Job erstellen, klicken Sie auf Container bereitstellen, um die Seite mit den anfänglichen Jobeinstellungen auszufüllen.

    2. Wenn Sie einen vorhandenen Job konfigurieren, wählen Sie den Job aus und klicken Sie dann auf Jobkonfiguration ansehen und bearbeiten.

  3. Klicken Sie auf Container, Verbindungen, Sicherheit, um die Seite mit den Jobattributen zu maximieren.

  4. Wählen Sie auf dem Tab Container die Arbeitsspeichergröße aus der Liste Arbeitsspeicher aus.

  5. Klicken Sie auf Erstellen oder Aktualisieren.

gcloud

  • Führen Sie den folgenden Befehl aus, um Arbeitsspeicherlimits beim Erstellen eines neuen Jobs festzulegen:

    gcloud run jobs create JOB --image IMAGE_URL --memory SIZE

    Ersetzen Sie Folgendes:

    • JOB: Der Name Ihres Cloud Run-Jobs.
    • IMAGE_URL: Ein Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/job:latest.
    • SIZE: die Größe des Arbeitsspeichers. 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.
  • So legen Sie Arbeitsspeicherlimits beim Aktualisieren eines vorhandenen Jobs fest:

    gcloud run jobs update JOB --memory SIZE

YAML

  1. Wenn Sie einen neuen Job erstellen, überspringen Sie diesen Schritt. Wenn Sie einen vorhandenen Job aktualisieren, laden Sie die zugehörige YAML-Konfiguration herunter:

    gcloud run jobs describe JOB --format export > job.yaml
  2. Aktualisieren Sie das Attribut memory:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - image: IMAGE_URL
                resources:
                  limits:
                    memory: SIZE

    Ersetzen Sie Folgendes:

    • JOB: Der Name Ihres Cloud Run-Jobs.
    • IMAGE_URL: Ein Verweis auf das Container-Image, z. B. us-docker.pkg.dev/cloudrun/container/job:latest.
    • SIZE: die Speichergröße, wobei mindestens 512 Mi angegeben werden müssen. Das Format ist eine feste Zahl oder Gleitkommazahl gefolgt von der Einheit: G oder M, was Gigabyte oder Megabyte entspricht. Alternativ verwenden Sie die Potenz von zwei Entsprechungen: Gi oder Mi, was Gibibyte bzw. Mebibyte entspricht.

    Sie können auch weitere Konfigurationen angeben, z. B. Umgebungsvariablen oder Speicherlimits.

  3. Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:

    gcloud run jobs replace job.yaml

    Standardmäßig wird mit dem Befehl gcloud run jobs replace die Datei job.yaml verwendet, sofern sie vorhanden ist.

Terraform

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

Fügen Sie einer google_cloud_run_v2_job-Ressource in Ihrer Terraform-Konfiguration Folgendes hinzu:
resource "google_cloud_run_v2_job" "default" {
  name     = "JOB"
  location = "REGION"
  deletion_protection = false

  template {
    template {
      containers {
        image = "us-docker.pkg.dev/cloudrun/container/job"
        resources {
          limits = {
            cpu    = "2"
            memory = "SIZE"
          }
        }
      }
    }
  }
}

Ersetzen Sie Folgendes:

  • JOB: Der Name Ihres Cloud Run-Jobs.
  • REGION: die Google Cloud Region. Beispiel: europe-west1.
  • SIZE: die erforderliche Speichergröße, mindestens 512 Mi. Das Format ist eine feste Zahl oder Gleitkommazahl gefolgt von der Einheit: G oder M, was Gigabyte oder Megabyte entspricht. Alterntiv verwenden Sie die Potenz von zwei Entsprechungen: Gi oder Mi, was Gibibyte bzw. Mebibyte entspricht.

Einstellungen für das Speicherlimit anzeigen

So rufen Sie die aktuellen Einstellungen für das Speicherlimit für Ihren Cloud Run-Job auf: die Google Cloud Console oder die Google Cloud CLI:

Console

  1. Wechseln Sie in der Google Cloud -Console zur Seite „Cloud Run-Jobs“:

    Zu Cloud Run-Jobs

  2. Klicken Sie auf den Job, um die Seite Jobdetails zu öffnen.

  3. Klicken Sie auf Jobkonfiguration ansehen und bearbeiten.

  4. Suchen Sie die Einstellung für das Speicherlimit in den Konfigurationsdetails.

gcloud

  1. Führen Sie dazu diesen Befehl aus:

    gcloud run jobs describe JOB
  2. Suchen Sie in der zurückgegebenen Konfiguration nach der Einstellung für das Speicherlimit.