Configurer les limites de mémoire pour les instances

Vous pouvez choisir la quantité de mémoire à fournir pour votre instance Cloud Run. Cette page explique comment spécifier la quantité de mémoire disponible pour votre instance.

Comprendre l'utilisation de la mémoire

Les instances Cloud Run qui dépassent la limite de mémoire autorisée sont arrêtées.

La mémoire disponible pour votre instance doit être suffisante pour les éléments suivants :

  • Exécution de l'exécutable de l'instance, car l'exécutable doit être chargé en mémoire
  • Allocation de mémoire dans le processus de votre instance
  • Écriture des fichiers dans le système de fichiers

La taille de l'image de conteneur déployée n'affecte pas la mémoire disponible pour l'instance.

Définir et mettre à jour des limites de mémoire

Vous pouvez définir des limites de mémoire sur les instances Cloud Run. Par défaut, la mémoire allouée à chaque instance est de 2 Gio .

Mémoire requise lors de la définition d'une valeur de processeur

Lorsque vous définissez une valeur de processeur, la mémoire suivante est requise :

Processeurs Mémoire requise
1 vCPU 512 Mio à 4 Gio
2 vCPU 512 Mio à 8 Gio
4 vCPU 2 à 16 Gio
6 vCPU 4 à 24 Gio
8 vCPU 4 à 32 Gio

Quantité maximale de mémoire

La quantité maximale de mémoire que vous pouvez configurer est de 32 gibioctets (32 Gi).

Vous pouvez appliquer une limite de mémoire maximale à l'aide de règles d'administration personnalisées.

Mémoire minimale

Le paramètre de mémoire minimal est de 512 Mio.

Considérations liées au coût

Le coût de votre instance Cloud Run est affecté par sa configuration de mémoire et la durée d'activité de votre ressource, entre autres facteurs. Le surprovisionnement de vos ressources peut augmenter vos coûts. Pour déterminer la configuration de mémoire la plus adaptée à votre ressource :

  1. Établissez une configuration de référence initiale.
  2. Surveillez vos métriques d'utilisation de la mémoire dans Cloud Monitoring tout en testant le système sous charge.
  3. Ajustez votre configuration si nécessaire.

Si l'utilisation de la mémoire est constamment faible, envisagez de réduire la mémoire allouée. Si la latence est élevée et que l'utilisation de la mémoire est proche de 100%, envisagez d'augmenter la mémoire allouée. Si vous rencontrez des erreurs de mémoire insuffisante, vous devez augmenter la mémoire allouée ou modifier votre application pour éviter les fuites de mémoire et utiliser moins de mémoire. Consultez le tableau de bord Cloud Monitoring pour mieux comprendre votre utilisation de la mémoire.

Pour en savoir plus, consultez les tarifs de Cloud Run ou estimez les coûts à l'aide du simulateur de coût.

Rôles requis

Pour obtenir les autorisations nécessaires pour configurer et déployer des instances Cloud Run, demandez à votre administrateur de vous accorder les rôles IAM suivants :

Pour obtenir la liste des rôles et des autorisations IAM associés à Cloud Run, consultez les sections Rôles IAM Cloud Run et Autorisations IAM Cloud Run. Si votre instance Cloud Run communique avec Google Cloud des API, telles que les bibliothèques clientes Cloud, consultez le guide de configuration de l'identité du service. Pour en savoir plus sur l'attribution de rôles, consultez les pages Autorisations de déploiement et Gérer les accès.

Configurer les limites de mémoire

Tout changement de configuration entraîne la création d'une révision. Les révisions ultérieures obtiennent aussi automatiquement le même paramètre de configuration, à moins que vous ne le mettiez explicitement à jour.

Vous pouvez définir des limites de mémoire pour une instance Cloud Run à l'aide de Google Cloud CLI ou de YAML :

gcloud

Vous pouvez mettre à jour l'allocation de mémoire d'une instance donnée à l'aide de la commande suivante :

gcloud beta run instances update INSTANCE --memory SIZE

Remplacez les éléments suivants :

  • INSTANCE : nom de l'instance
  • SIZE : taille de la mémoire issue du tableau des processeurs et de la mémoire. Le format de la taille est un nombre fixe ou à virgule flottante suivi d'une unité : G ou M correspondant respectivement au gigaoctet ou au mégaoctet, ou qui utilise des équivalents en puissance de deux : Gi ou Mi correspondant respectivement au gibioctet ou au mebioctet.

Lors du déploiement, vous pouvez également définir des limites de mémoire à l'aide de la commande suivante :

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

Remplacez les éléments suivants :

  • IMAGE_URL: référence à l'image de conteneur, telle que us-docker.pkg.dev/cloudrun/container/hello:latest.
  • SIZE : taille de la mémoire issue du tableau des processeurs et de la mémoire. Le format de la taille est un nombre fixe ou à virgule flottante suivi d'une unité : G ou M correspondant respectivement au gigaoctet ou au mégaoctet, ou qui utilise des équivalents en puissance de deux : Gi ou Mi correspondant respectivement au gibioctet ou au mébioctet.

YAML

  1. Si vous créez une instance, ignorez cette étape. Si vous mettez à jour une instance existante, téléchargez sa configuration YAML :

    gcloud beta run instances describe INSTANCE --format export > instance.yaml
  2. L'exemple suivant contient la configuration 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

    Remplacez les éléments suivants :

    • INSTANCE : nom de votre instance Cloud Run.
    • IMAGE_URL: référence à l'image de conteneur, telle que us-docker.pkg.dev/cloudrun/container/hello:latest.
    • SIZE : taille de la mémoire choisie. Le format est un nombre fixe ou à virgule flottante suivi d'une unité : G ou M correspondant respectivement au gigaoctet ou au mégaoctet, ou qui utilise des équivalents en puissance de deux : Gi ou Mi correspondant respectivement au gibioctet ou au mébioctet.
  3. Créez ou mettez à jour l'instance à l'aide de la commande suivante :

    gcloud beta run instances replace instance.yaml