Puoi scegliere la quantità di memoria da fornire per il tuo 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:
- Esecuzione dell'eseguibile del job, perché l'eseguibile deve essere caricato in memoria
- Allocazione della memoria nel processo del job
- Scrittura di file nel file system
Le dimensioni dell'immagine container di cui è stato eseguito il deployment non influiscono sulla memoria disponibile per l'istanza.
Imposta e aggiorna 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 della CPU
Quando imposti un valore della CPU, è richiesta la seguente memoria:
| CPU | Memoria richiesta |
|---|---|
| 1 vCPU | Da 512 MiB a 4 GiB |
| 2 vCPU | Da 512 MiB a 8 GiB |
| 4 vCPU | 2-16 GiB |
| 6 vCPU | Da 4 a 24 GiB |
| 8 vCPU | 4-32 GiB |
Quantità massima di memoria
La quantità massima di memoria che puoi configurare è
32 gibibyte (32 Gi).
Memoria minima
L'impostazione minima della memoria è 512 MiB.
Considerazioni sui costi
Il costo del job Cloud Run è influenzato, tra gli altri fattori, dalla configurazione della memoria e dalla durata dell'attività della risorsa. L'overprovisioning delle risorse può aumentare i costi. Per determinare quale configurazione della memoria potrebbe essere la migliore per la tua risorsa:
- Stabilisci una configurazione di base iniziale.
- Monitora le metriche di utilizzo della memoria in Cloud Monitoring durante il test del sistema sotto carico.
- 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 saperne di più, 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:
- Cloud Run Developer (
roles/run.developer) sul job Cloud Run - Utente dell'account di servizio (
roles/iam.serviceAccountUser) sull'identità di servizio
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.
Configura 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
Nella console Google Cloud , vai alla pagina Cloud Run:
Seleziona Job dal menu di navigazione di Cloud Run:
Se stai creando un nuovo job, 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 poi fai clic su Visualizza e modifica la configurazione del job.
Fai clic su Container, connessioni, sicurezza per espandere la pagina delle proprietà del job.
Nella scheda Container, seleziona la dimensione della memoria dall'elenco Memoria.
Fai clic su Crea o Aggiorna.
gcloud
Per impostare i limiti di memoria quando crei un nuovo job, esegui questo comando:
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 esempious-docker.pkg.dev/cloudrun/container/job:latest.SIZE: la dimensione della memoria. Il formato per la dimensione è un numero in virgola fissa o mobile seguito da un'unità:GoMcorrispondente rispettivamente a gigabyte o megabyte oppure utilizza gli equivalenti in potenza di due:GioMicorrispondenti 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
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
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 esempious-docker.pkg.dev/cloudrun/container/job:latest.SIZE: la dimensione della memoria, specificando un minimo di 512Mi. Il formato è un numero in virgola fissa o mobile seguito da un'unità:GoMcorrispondente rispettivamente a gigabyte o megabyte, oppure utilizza gli equivalenti in potenza di due:GioMicorrispondenti rispettivamente a gibibyte o mebibyte.
Puoi anche specificare altre configurazioni, ad esempio variabili di ambiente o limiti di memoria.
Crea o aggiorna il job utilizzando il seguente comando:
gcloud run jobs replace job.yaml
Il comando
gcloud run jobs replaceutilizza per impostazione predefinita il filejob.yaml, se presente.
Terraform
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Aggiungi quanto segue a una risorsagoogle_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 regione Google Cloud . Ad esempioeurope-west1.SIZE: la dimensione della memoria richiesta, specificando un minimo di 512Mi. Il formato è un numero in virgola fissa o mobile seguito da un'unità:GoMcorrispondente rispettivamente a gigabyte o megabyte, oppure utilizza gli equivalenti di potenza di due:GioMicorrispondenti 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
Nella console Google Cloud , vai alla pagina dei job Cloud Run:
Fai clic sul job per aprire la pagina Dettagli job.
Fai clic su Visualizza e modifica la configurazione del job.
Individua l'impostazione del limite di memoria nei dettagli della configurazione.
gcloud
Esegui questo comando:
gcloud run jobs describe JOB
Individua l'impostazione del limite di memoria nella configurazione restituita.