Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Réservation de mémoire d'instance de conteneur Amazon ECS Linux

Mode de mise au point
Réservation de mémoire d'instance de conteneur Amazon ECS Linux - Amazon Elastic Container Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Lorsque l'agent de conteneur Amazon ECS enregistre une instance de conteneur dans un cluster, il doit déterminer la quantité de mémoire disponible que l'instance de conteneur peut réserver pour vos tâches. En raison de la surcharge de mémoire de la plate-forme et de la mémoire occupée par le noyau du système, ce nombre est différent de la quantité de mémoire installée annoncée pour les EC2 instances Amazon. Par exemple, une instance m4.large a 8 Gio de mémoire installée. Cependant, cela ne se traduit pas toujours par exactement 8192 MiB de mémoire disponible pour les tâches lors de l'enregistrement de l'instance de conteneur.

L'agent de conteneur Amazon ECS fournit une variable de configuration appeléeECS_RESERVED_MEMORY, que vous pouvez utiliser pour supprimer un nombre spécifié de MiB de mémoire du pool alloué à vos tâches. Cela réserve de manière effective cette quantité de mémoire pour les processus système critiques.

Si vos tâches occupent toute la mémoire d'une instance de conteneur, il est possible que celles-ci soient confrontées à des processus critiques du système en termes de mémoire et qu'elles soient à l'origine d'une défaillance du système.

Par exemple, si vous spécifiez ECS_RESERVED_MEMORY=256 dans votre fichier de configuration de l'agent de conteneur, l'agent enregistre la mémoire totale, moins 256 Mio pour cette instance. 256 Mio de mémoire ne sont donc pas allouées par des tâches ECS. Pour plus d'informations sur les variables de configuration de l'agent et la façon de les définir, consultez Configuration de l'agent de conteneur Amazon ECS et Démarrage des instances de conteneur Linux Amazon ECS pour transmettre des données.

Si vous spécifiez 8192 Mo pour la tâche et qu'aucune de vos instances de conteneur ne dispose de 8192 Mo de mémoire disponible ou plus pour satisfaire cette exigence, la tâche ne peut pas être placée dans votre cluster. Si vous utilisez un environnement informatique géré, vous AWS Batch devez lancer un type d'instance plus important pour répondre à la demande.

Vous devez également réserver une partie de la mémoire pour l'agent de conteneur Amazon ECS et d'autres processus système critiques sur vos instances de conteneur, afin que les conteneurs de votre tâche ne se disputent pas la même mémoire, ce qui pourrait provoque une défaillance du système.

L'agent de conteneur Amazon ECS utilise la fonction ReadMemInfo() Docker pour connaître la mémoire totale disponible pour le système d'exploitation. Linux et Windows fournissent tous deux des utilitaires de ligne de commande pour déterminer la mémoire totale.

Exemple - Déterminer la mémoire totale Linux

La commande free renvoie la mémoire totale reconnue par le système d'exploitation.

$ free -b

Exemple de sortie d'une instance m4.large exécutant l'AMI Amazon Linux optimisée pour Amazon ECS.

total used free shared buffers cached Mem: 8373026816 348180480 8024846336 90112 25534464 205418496 -/+ buffers/cache: 117227520 8255799296

Cette instance comporte 8373026816 octets de mémoire totale, soit 7 985 Mio disponible pour les tâches.

Exemple - Déterminer la mémoire totale Windows

La commande wmic renvoie la mémoire totale reconnue par le système d'exploitation.

C:\> wmic ComputerSystem get TotalPhysicalMemory

Exemple de sortie pour une m4.large instance exécutant l'AMI Windows Server optimisée pour Amazon ECS.

TotalPhysicalMemory 8589524992

Cette instance comporte 8589524992 octets de mémoire totale, soit 8 191 Mio disponible pour les tâches.

Affichage de la mémoire d'une instance de conteneur

Vous pouvez voir la quantité de mémoire utilisée par une instance de conteneur dans la console Amazon ECS (ou dans le cadre de l'opération DescribeContainerInstancesAPI). Si vous essayez de maximiser l'utilisation de vos ressources en fournissant à vos tâches autant de mémoire que possible pour un type d'instance particulier, vous pouvez observer la mémoire disponible pour cette instance de conteneur, puis attribuer cette quantité de mémoire à vos tâches.

Pour afficher la mémoire d'une instance de conteneur
  1. Ouvrez la console à la https://console.aws.amazon.com/ecs/version 2.

  2. Dans le volet de navigation, choisissez Clusters, puis choisissez le cluster qui héberge votre instance de conteneur.

  3. Choisissez Infrastructure, puis sous Instances de conteneur, choisissez une instance de conteneur.

  4. La section Ressources indique la mémoire enregistrée et disponible pour l'instance de conteneur.

    La valeur de mémoire enregistrée correspond à l'instance de conteneur ; enregistrée auprès d'Amazon ECS lors de son premier lancement, et la valeur de mémoire disponible correspond à ce qui n'a pas encore été alloué aux tâches.

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.