Sie können die Speichermenge für Ihren Cloud Run-Job auswählen. Auf dieser Seite wird beschrieben, wie Sie die für Ihren Job verfügbare Arbeitsspeichermenge angeben.
Grundlegendes zur Arbeitsspeichernutzung
Cloud Run-Instanzen, die das zulässige Arbeitsspeicherlimit überschreiten, werden beendet.
Der verfügbare Arbeitsspeicher Ihrer 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
- Arbeitsspeicher im Jobprozess zuweisen
- Dateien in das Dateisystem schreiben
Die Größe des bereitgestellten Container-Images hat keinen Einfluss auf den für die Instanz verfügbaren Arbeitsspeicher.
Speicherlimits festlegen und aktualisieren
Sie können Arbeitsspeicherlimits für Cloud Run-Jobs festlegen. Standardmäßig beträgt die Arbeitsspeicherzuweisung für jeden Job und die Arbeitsspeicherzuweisung für eine Funktion 256 MiB.
Erforderlicher Arbeitsspeicher beim Festlegen eines CPU-Werts
Beim Festlegen eines CPU-Werts ist der folgende Arbeitsspeicher erforderlich:
| CPUs | Arbeitsspeicher erforderlich |
|---|---|
| 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 der Ressource ab. Eine Überdimensionierung Ihrer Ressourcen kann die Kosten erhöhen. So ermitteln Sie, welche Arbeitsspeicherkonfiguration für Ihre Ressource am besten geeignet ist:
- Erstellen Sie eine erste Baseline-Konfiguration.
- Behalten Sie die Messwerte zur Arbeitsspeicherauslastung in Cloud Monitoring im Blick, während Sie das System unter Last testen.
- Passen Sie die Konfiguration nach Bedarf an.
Wenn die Arbeitsspeicherauslastung durchgehend niedrig ist, sollten Sie den zugewiesenen Arbeitsspeicher reduzieren. Wenn die Latenz hoch ist und die Arbeitsspeicherauslastung fast 100 % beträgt, sollten Sie den zugewiesenen Arbeitsspeicher erhöhen. Wenn Out of Memory (OOM)-Fehler auftreten, sollten Sie den zugewiesenen Arbeitsspeicher erhöhen oder Ihre Anwendung so ändern, dass Speicherlecks vermieden werden und weniger Arbeitsspeicher verwendet wird. Weitere Informationen zur Arbeitsspeicherauslastung finden Sie im Cloud Monitoring-Dashboard.
Weitere Informationen finden Sie unter Cloud Run – Preise. Sie können die Kosten auch mit dem Preisrechner schätzen.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zu gewähren, um die zum Konfigurieren von Cloud Run-Jobs erforderlichen Berechtigungen zu erhalten:
- Rolle Cloud Run-Entwickler (
roles/run.developer) für den Cloud Run-Job - Dienstkontonutzer (
roles/iam.serviceAccountUser) für die Dienstidentität
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
Rufen Sie in der Google Cloud Console die Seite „Cloud Run“ auf:
Wählen Sie im Cloud Run-Navigationsmenü die Option Jobs aus:
Wenn Sie einen neuen Job erstellen, klicken Sie auf Container bereitstellen, um die Seite mit den anfänglichen Jobeinstellungen auszufüllen.
Wenn Sie einen vorhandenen Job konfigurieren, wählen Sie den Job aus und klicken Sie dann auf Jobkonfiguration ansehen und bearbeiten.
Klicken Sie auf Container, Verbindungen, Sicherheit, um die Seite mit den Jobattributen zu maximieren.
Wählen Sie auf dem Tab Container die Arbeitsspeichergröße aus der Liste Arbeitsspeicher aus.
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 Speichergröße. Das Format für die Größe ist eine feste oder Gleitkommazahl gefolgt von einer Einheit:GoderM, die dem Gigabyte oder Megabyte entspricht, oder verwenden Sie die Potenz von zwei Entsprechungen:GioderMi, die Gibibyte bzw. Mebibyte entsprechen.
Führen Sie den folgenden Befehl aus, um Arbeitsspeicherlimits beim Aktualisieren eines vorhandenen Jobs festzulegen:
gcloud run jobs update JOB --memory SIZE
YAML
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
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:GoderM, was Gigabyte oder Megabyte entspricht. Alterntiv verwenden Sie die Potenz von zwei Entsprechungen:GioderMi, was Gibibyte bzw. Mebibyte entspricht.
Sie können auch weitere Konfigurationen angeben, z. B. Umgebungsvariablen oder Speicherlimits.
Erstellen oder aktualisieren Sie den Dienst mit dem folgenden Befehl:
gcloud run jobs replace job.yaml
Der Befehl
gcloud run jobs replaceverwendet standardmäßig die Dateijob.yaml, falls vorhanden.
Terraform
Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.
Fügen Sie einergoogle_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 Region Google Cloud . Beispiel:europe-west1.SIZE: die erforderliche Speichergröße, wobei mindestens 512 Mi angegeben werden müssen. Das Format ist eine feste Zahl oder Gleitkommazahl gefolgt von der Einheit:GoderM, was Gigabyte oder Megabyte entspricht. Alterntiv verwenden Sie die Potenz von zwei Entsprechungen:GioderMi, 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: Verwenden Sie die Google Cloud Console oder die Google Cloud CLI:
Console
Wechseln Sie in der Google Cloud Console zur Seite „Cloud Run-Jobs“:
Klicken Sie auf den gewünschten Job, um die Seite Jobdetails zu öffnen.
Klicken Sie auf Jobkonfiguration ansehen und bearbeiten.
Suchen Sie die Einstellung für das Speicherlimit in den Konfigurationsdetails.
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud run jobs describe JOB
Suchen Sie in der zurückgegebenen Konfiguration nach der Einstellung für das Speicherlimit.