Configurer les limites de mémoire

Vous pouvez provisionner votre tâche Cloud Run avec différentes quantités de mémoire. Cette page explique comment spécifier la quantité de mémoire disponible pour votre tâche.

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.

Les opérations suivantes sont comptabilisées dans la mémoire disponible de votre instance :

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

La taille de l'image de conteneur déployée n'est pas comptabilisée dans la mémoire disponible.

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

Vous pouvez définir des limites de mémoire sur les jobs Cloud Run. Par défaut, la mémoire allouée à chaque job est de 512 Mio.

Nombre minimal de processeurs requis

La quantité de mémoire allouée que vous choisissez correspond à la quantité de processeurs allouée à votre tâche. Lorsque vous définissez une limite de mémoire, les limites minimales de processeur requises sont les suivantes:

Mémoire Nombre minimal de processeurs requis
128 MiB 0,083 vCPU
256 MiB 0,167 vCPU
512 MiB 0,333 vCPU
1 Gio 0,583 vCPU
2 Gio 1 vCPU
Plus de 4 Gio 2 vCPU
Plus de 8 Gio 4 processeurs virtuels
Plus de 16 Gio 6 vCPU
Plus de 24 Gio 8 vCPU

Quantité maximale de mémoire

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

Mémoire minimale

La quantité de mémoire minimale que vous pouvez configurer dans l'environnement d'exécution de deuxième génération est de 512 Mio.

Rôles requis

Pour obtenir les autorisations nécessaires pour configurer des jobs 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 job Cloud Run communique avec des API Google Cloud, telles que des 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 sections Autorisations de déploiement et Gérer les accès.

Configurer les limites de mémoire

Vous devez spécifier un minimum de 512 Mi pour une tâche Cloud Run. Pour spécifier la mémoire d'une tâche Cloud Run, procédez comme suit :

Console

  1. Dans la console Google Cloud, accédez à la page des jobs Cloud Run :

    Accédez à Cloud Run

  2. Cliquez sur Déployer un conteneur, puis sélectionnez Job pour remplir la page initiale des paramètres du job. Si vous configurez un job existant, cliquez sur celui-ci, puis sur Modifier.

  3. Cliquez sur Conteneur, variables et secrets, connexions, sécurité pour développer la page des propriétés du job.

  4. Cliquez sur l'onglet Conteneur.

    image

    • Sélectionnez la taille de mémoire souhaitée dans la liste déroulante Mémoire.
  5. Cliquez sur Créer ou Mettre à jour.

gcloud

  1. Pour définir des limites de mémoire lorsque vous créez une tâche, procédez comme suit :

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

    Remplacez :

    • JOB_NAME par le nom de votre tâche.
    • IMAGE_URL par une référence à l'image de conteneur, par exemple us-docker.pkg.dev/cloudrun/container/job:latest.
    • SIZE par la taille de mémoire souhaitée. 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.
  2. Pour définir des limites de mémoire lorsque vous mettez à jour une tâche, procédez comme suit :

    gcloud run jobs update JOB_NAME --memory SIZE

YAML

  1. Si vous créez un job, ignorez cette étape. Si vous mettez à jour un job existant, téléchargez sa configuration YAML :

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Mettez à jour l'attribut memory :

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
          containers:
          - image: IMAGE
            resources:
              limits:
                memory: SIZE

    Remplacez SIZE par la taille de mémoire souhaitée, en spécifiant une valeur minimale de 512 Mi. Le format est un nombre fixe ou à virgule flottante suivi d'une unité :G ouM correspondant au gigaoctet ou au mégaoctet, respectivement, ou qui utilise des équivalents en puissance de deux : Gi ou Mi correspondant respectivement à un gibioctet ou à un mébioctet.

    Vous pouvez également spécifier d'autres éléments de configuration, tels que des variables d'environnement ou des limites de mémoire.

  3. Mettez à jour la configuration de tâche existante :

    gcloud run jobs replace job.yaml

Afficher les paramètres de limite de mémoire

Pour afficher les paramètres actuels de limite de mémoire de votre tâche Cloud Run, procédez comme suit :

Console

  1. Dans la console Google Cloud, accédez à la page des jobs Cloud Run :

    Accéder aux jobs Cloud Run

  2. Cliquez sur le job qui vous intéresse pour ouvrir la page Informations sur le job.

  3. Cliquez sur l'onglet Configuration.

  4. Localisez le paramètre de limite de mémoire dans les détails de la configuration.

gcloud

  1. Exécutez la commande suivante :

    gcloud run jobs describe JOB_NAME
  2. Recherchez le paramètre de limite de mémoire dans la configuration renvoyée.