Configura i limiti di memoria per le istanze

Puoi scegliere la quantità di memoria da fornire per l'istanza Cloud Run. Questa pagina descrive come specificare la quantità di memoria disponibile per l'istanza.

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 dell'istanza, perché l'eseguibile deve essere caricato in memoria
  • Allocare memoria nel processo dell'istanza
  • 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 sulle istanze Cloud Run. Per impostazione predefinita, la memoria allocata a ogni istanza è di 2 GiB .

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 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 è di 32 gibibyte (32 Gi).

Puoi applicare un limite massimo di memoria utilizzando policy dell'organizzazione personalizzate.

Memoria minima

L'impostazione minima della memoria è 512 MiB.

Considerazioni sui costi

Il costo dell'istanza 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 necessità.

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 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 dei prezzi.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per configurare ed eseguire il deployment di istanze 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 l'istanza Cloud Run interagisce con Google Cloud 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

Qualsiasi modifica alla configurazione comporta la creazione di una nuova revisione. Anche le revisioni successive riceveranno automaticamente questa impostazione di configurazione, a meno che tu non apporti aggiornamenti espliciti per modificarla.

Puoi impostare i limiti di memoria per un'istanza Cloud Run utilizzando Google Cloud CLI o YAML:

gcloud

Puoi aggiornare l'allocazione della memoria di una determinata istanza utilizzando il seguente comando:

gcloud beta run instances update INSTANCE --memory SIZE

Sostituisci quanto segue:

  • INSTANCE: il nome dell'istanza
  • SIZE: una dimensione della memoria dalla tabella CPU e memoria. Il formato per le dimensioni è un numero a virgola fissa o mobile seguito da un'unità: G o M corrispondente rispettivamente a gigabyte o megabyte, oppure utilizza gli equivalenti di potenza di due: Gi o Mi corrispondente rispettivamente a gibibyte o mebibyte.

Puoi anche impostare i limiti di memoria durante il deployment utilizzando il comando:

gcloud beta run instances deploy --image IMAGE_URL --memory SIZE

Sostituisci quanto segue:

  • IMAGE_URL: un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest..
  • SIZE: una dimensione della memoria dalla tabella CPU e memoria. Il formato per le dimensioni è un numero a virgola fissa o mobile seguito da un'unità: G o M corrispondente rispettivamente a gigabyte o megabyte oppure utilizza gli equivalenti di potenza di due: Gi o Mi corrispondente rispettivamente a gibibyte o mebibyte.

YAML

  1. Se stai creando una nuova istanza, salta questo passaggio. Se stai aggiornando un'istanza esistente, scarica la relativa configurazione YAML:

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. L'esempio seguente contiene la configurazione YAML:

    apiVersion: run.googleapis.com/v1
    kind: Instance
    metadata:
      name: INSTANCE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      containers:
      - image: IMAGE_URL
        resources:
          limits:
            memory: SIZE

    Sostituisci quanto segue:

    • INSTANCE: il nome dell'istanza Cloud Run.
    • IMAGE_URL: un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest..
    • SIZE: la dimensione della memoria scelta. Il formato è un numero a virgola fissa o mobile seguito da un'unità: G o M corrispondente rispettivamente a gigabyte o megabyte, oppure utilizza gli equivalenti di potenza di due: Gi o Mi corrispondente rispettivamente a gibibyte o mebibyte.
  3. Crea o aggiorna l'istanza utilizzando il seguente comando:

    gcloud beta run instances replace instance.yaml