Configurare i limiti di memoria per i job

Puoi scegliere la quantità di memoria da fornire per il job Cloud Run. Questa pagina descrive come specificare la quantità di memoria disponibile per il tuo job.

Informazioni sulla memoria utilizzata

Le istanze Cloud Run che superano il limite di memoria consentito vengono terminate.

La memoria disponibile per l'istanza deve essere sufficiente per:

  • Esecuzione dell'eseguibile del job, perché l'eseguibile deve essere caricato in memoria
  • Allocazione della memoria nel processo del job
  • Scrittura dei file nel file system

Le dimensioni dell'immagine container di cui è stato eseguito il deployment non influiscono sulla memoria disponibile per l'istanza.

Impostare e aggiornare i limiti di memoria

Puoi impostare limiti di memoria per i job Cloud Run. Per impostazione predefinita, la memoria allocata a ogni job è , mentre la memoria allocata per una funzione è 256 MiB.

Memoria richiesta quando si imposta un valore di CPU

Quando imposti un valore di CPU, è necessaria la seguente memoria:

CPU Memoria richiesta
1 vCPU Da 512 MiB a 4 GiB
2 vCPU Da 512 MiB a 8 GiB
4 vCPU Da 2 a 16 GiB
6 vCPU Da 4 a 24 GiB
8 vCPU Da 4 a 32 GiB

Quantità massima di memoria

La quantità massima di memoria che puoi configurare è 32 gibibyte (32 Gi).

Memoria minima

L'impostazione della memoria minima è 512 MiB.

Considerazioni sui costi

Il costo del job Cloud Run è influenzato dalla configurazione della memoria e dalla durata di attività della risorsa, tra gli altri fattori. Il provisioning eccessivo delle risorse può aumentare i costi. Per determinare quale configurazione di memoria potrebbe essere la migliore per la tua risorsa:

  1. Stabilisci una configurazione di base iniziale.
  2. Monitora le metriche di utilizzo della memoria in Cloud Monitoring durante il test del sistema sotto carico.
  3. Modifica la configurazione in base alle esigenze.

Se l'utilizzo della memoria è costantemente basso, valuta la possibilità di ridurre la memoria allocata. Se la latenza è elevata e l'utilizzo della memoria è vicino al 100%, valuta la possibilità di aumentare la memoria allocata. Se si verificano errori di out of memory (OOM), devi aumentare la memoria allocata o modificare l'applicazione per evitare perdite di memoria e utilizzare meno memoria. Consulta la dashboard di Cloud Monitoring per comprendere meglio l'utilizzo della memoria.

Per ulteriori informazioni, consulta i prezzi di Cloud Run o stima i costi con il Calcolatore prezzi.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per configurare i job Cloud Run, chiedi all'amministratore di concederti i seguenti ruoli IAM:

Per un elenco di ruoli e autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM di Cloud Run e Autorizzazioni IAM di Cloud Run. Se il tuo job Cloud Run interagisce con le APIGoogle Cloud , come le librerie client Cloud, consulta la guida alla configurazione dell'identità del servizio. Per saperne di più sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestisci l'accesso.

Configurare i limiti di memoria

Devi specificare un minimo di 512 Mi per un job Cloud Run.

Puoi configurare i limiti di memoria per un job Cloud Run utilizzando la consoleGoogle Cloud , gcloud CLI, YAML o Terraform:

Console

  1. Nella console Google Cloud , vai alla pagina Cloud Run:

    Vai a Cloud Run

  2. Seleziona Job dal menu di navigazione di Cloud Run:

    1. Se stai creando un nuovo job, fai clic su Deploy container per compilare la pagina delle impostazioni iniziali del job.

    2. Se stai configurando un job esistente, selezionalo, quindi fai clic su Visualizza e modifica la configurazione del job.

  3. Fai clic su Container, connessioni, sicurezza per espandere la pagina delle proprietà del job.

  4. Nella scheda Container, seleziona la dimensione della memoria dall'elenco Memoria.

  5. Fai clic su Crea o Aggiorna.

gcloud

  • Per impostare i limiti di memoria quando crei un nuovo job, esegui il comando seguente:

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

    Sostituisci quanto segue:

    • JOB: il nome del job Cloud Run.
    • IMAGE_URL: un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/job:latest.
    • SIZE: la dimensione della memoria. Il formato per le dimensioni è un numero in virgola fissa o mobile seguito da un'unità: G o M corrispondenti rispettivamente a gigabyte o megabyte oppure utilizza gli equivalenti in base 2: Gi o Mi corrispondenti rispettivamente a gibibyte o mebibyte.
  • Per impostare i limiti di memoria quando aggiorni un job esistente, esegui il seguente comando:

    gcloud run jobs update JOB --memory SIZE

YAML

  1. Se stai creando un nuovo job, salta questo passaggio. Se stai aggiornando un job esistente, scarica la relativa configurazione YAML:

    gcloud run jobs describe JOB --format export > job.yaml
  2. Aggiorna l'attributo memory:

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

    Sostituisci quanto segue:

    • JOB: il nome del job Cloud Run.
    • IMAGE_URL: un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/job:latest.
    • SIZE: la dimensione della memoria, specificando un minimo di 512 Mi. Il formato è un numero in virgola fissa o mobile seguito da un'unità: G o M corrispondente a gigabyte o megabyte, rispettivamente, oppure utilizza gli equivalenti in base 2: Gi o Mi corrispondente a gibibyte o mebibyte, rispettivamente.

    Puoi anche specificare più configurazioni, ad esempio variabili di ambiente o limiti di memoria.

  3. Crea o aggiorna il job utilizzando il seguente comando:

    gcloud run jobs replace job.yaml

    Il comando gcloud run jobs replace utilizza per impostazione predefinita il file job.yaml, se presente.

Terraform

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

Aggiungi quanto segue a una risorsa google_cloud_run_v2_job nella configurazione Terraform:
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"
          }
        }
      }
    }
  }
}

Sostituisci quanto segue:

  • JOB: il nome del job Cloud Run.
  • REGION: la Google Cloud regione. Ad esempio europe-west1.
  • SIZE: la dimensione della memoria richiesta, specificando un minimo di 512 Mi. Il formato è un numero in virgola fissa o mobile seguito da un'unità: G o M corrispondente rispettivamente a gigabyte o megabyte oppure utilizza gli equivalenti in base 2: Gi o Mi corrispondente rispettivamente a gibibyte o mebibyte.

Visualizza le impostazioni del limite di memoria

Per visualizzare le impostazioni attuali del limite di memoria per il tuo job Cloud Run, utilizza la console Google Cloud o Google Cloud CLI:

Console

  1. Nella console Google Cloud , vai alla pagina dei job Cloud Run:

    Vai ai job Cloud Run

  2. Fai clic sul job per aprire la pagina Dettagli job.

  3. Fai clic su Visualizza e modifica la configurazione del job.

  4. Individua l'impostazione del limite di memoria nei dettagli della configurazione.

gcloud

  1. Esegui questo comando:

    gcloud run jobs describe JOB
  2. Individua l'impostazione del limite di memoria nella configurazione restituita.