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:
- Legen Sie eine erste Baseline-Konfiguration fest.
- Behalten Sie die Messwerte zur Speichernutzung in Cloud Monitoring im Blick, während Sie das System unter Last testen.
- 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:
- Rolle Cloud Run-Entwickler (
roles/run.developer) im 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ü 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 Größe des Arbeitsspeichers. 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.
So legen Sie Arbeitsspeicherlimits beim Aktualisieren eines vorhandenen Jobs fest:
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. Alternativ 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
Standardmäßig wird mit dem Befehl
gcloud run jobs replacedie Dateijob.yamlverwendet, sofern sie vorhanden ist.
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 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: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: 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 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.