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 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:

  • Eseguire l'eseguibile del job, perché l'eseguibile deve essere caricato in memoria
  • Allocare memoria nel processo del job
  • Scrivere 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 è di 512 MiB.

Memoria richiesta quando si imposta un valore della CPU

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

CPU Memoria richiesta
1 vCPU Da 128 MiB a 4 GiB
2 vCPU Da 128 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 è di 32 gibibyte (32 Gi).

Memoria minima

La quantità minima di memoria che puoi configurare nell' ambiente di esecuzione di seconda generazione è di 512 MiB.

Considerazioni sui costi

Il costo del job Cloud Run è influenzato, tra gli altri fattori, dalla configurazione della memoria e dalla durata di attività della risorsa. Il provisioning eccessivo delle risorse può aumentare i costi. Per determinare la configurazione della memoria più adatta alla 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 riscontri errori di memoria insufficiente (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 Google Cloud le API, 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 MiB per un job Cloud Run. Per specificare la memoria per un job Cloud Run:

Console

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

    Vai a Cloud Run

  2. Fai clic su Esegui il deployment del container per compilare la pagina delle impostazioni iniziali del job. Se stai configurando un job esistente, selezionalo e 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. Fai clic sulla scheda Container.

    immagine

    • Seleziona la dimensione della memoria desiderata dall'elenco a discesa Memoria.
  5. Fai clic su Crea o Aggiorna.

gcloud

  1. Per impostare i limiti di memoria quando crei un job:

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

    Sostituisci:

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

    gcloud run jobs update JOB_NAME --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_NAME --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
            resources:
              limits:
                memory: SIZE

    Sostituisci SIZE con la dimensione della memoria desiderata, specificando un minimo di 512 MiB. Il formato è un numero a virgola fissa o mobile seguito da un'unità: G o M corrispondenti rispettivamente a gigabyte o megabyte, oppure utilizza gli equivalenti di potenza di due: Gi o Mi corrispondenti rispettivamente a gibibyte o mebibyte.

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

  3. Aggiorna la configurazione del job esistente:

    gcloud run jobs replace job.yaml

Terraform

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

Aggiungi quanto segue a una google_cloud_run_v2_job risorsa nella configurazione Terraform:

resource "google_cloud_run_v2_job" "default" {
  name     = "cloudrun-job"
  location = "REGION"
  deletion_protection = false

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

Sostituisci:

  • REGION con la Google Cloud regione. Ad esempio, europe-west1.
  • SIZE con la dimensione della memoria richiesta, specificando un minimo di 512 MiB. Il formato è un numero a virgola fissa o mobile seguito da un'unità: G o M corrispondenti rispettivamente a gigabyte o megabyte, oppure utilizza gli equivalenti di potenza di due: Gi o Mi corrispondenti rispettivamente a gibibyte o mebibyte.

Visualizzare le impostazioni dei limiti di memoria

Per visualizzare le impostazioni dei limiti di memoria correnti per il job Cloud Run:

Console

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

    Vai ai job Cloud Run

  2. Fai clic sul job che ti interessa 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. Utilizza il seguente comando:

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