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:
- 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 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:
- Cloud Run Developer (
roles/run.developer) sul job Cloud Run - Service Account User (
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.
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
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 Deploy container per compilare la pagina delle impostazioni iniziali del job.
Se stai configurando un job esistente, selezionalo, quindi 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 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 esempious-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à:GoMcorrispondenti rispettivamente a gigabyte o megabyte oppure utilizza gli equivalenti in base 2: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 512 Mi. Il formato è un numero in virgola fissa o mobile seguito da un'unità:GoMcorrispondente a gigabyte o megabyte, rispettivamente, oppure utilizza gli equivalenti in base 2:GioMicorrispondente a gibibyte o mebibyte, rispettivamente.
Puoi anche specificare più 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 Google Cloud regione. Ad esempioeurope-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à:GoMcorrispondente rispettivamente a gigabyte o megabyte oppure utilizza gli equivalenti in base 2:GioMicorrispondente 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.