Gerenciamento de memória de recursos de computação
Quando o agente de contêiner do Amazon ECS registra um recurso de computação da instância de contêiner em um ambiente de computação do cluster, o atendente deve determinar a quantidade de memória que o recurso de computação da instância de contêiner tem disponível para reservá-la para os seus trabalhos da tarefa. Devido à sobrecarga de memória da plataforma e a memória ocupada pelo kernel do sistema, esse número é diferente da quantidade de memória instalada para instâncias do Amazon EC2. Por exemplo, uma instância m4.large
tem 8 GiB de memória instalada. No entanto, isso nem sempre traduz para 8192 MiB de memória disponível para trabalhos nos quais o recurso de computação é registrado.
Suponha que você especifique 8192 MiB para o trabalho e que nenhum dos seus recursos de computação tenha 8192 MiB de memória disponível ou maior para satisfazer a esse requisito. O trabalho não poderá ser colocado em seu ambiente de computação. Se você estiver usando um ambiente de computação gerenciado, o AWS Batch deverá executar um tipo de instância maior para acomodar a solicitação.
A AMI padrão de recursos de computação AWS Batch também reserva 32 MiB de memória para o agente de contêiner do Amazon ECS e outros processos críticos do sistema. Essa memória não está disponível para alocação de trabalhos. Para ter mais informações, consulte Reservar memória do sistema.
O agente de contêiner do Amazon ECS usa a função ReadMemInfo()
do Docker para consultar a memória disponível total para o sistema operacional. O Linux oferece utilitários de linha de comando para determinar a memória total.
exemplo - Determinar a memória total do Linux
O comando free retorna a memória total reconhecida pelo sistema operacional.
$
free -b
O exemplo a seguir é um exemplo de saída para uma instância m4.large
executando a AMI do Amazon Linux otimizada para Amazon ECS.
total used free shared buffers cached Mem:
8373026816
348180480 8024846336 90112 25534464 205418496 -/+ buffers/cache: 117227520 8255799296
Essa instância tem 8373026816 bytes de memória total. Isso significa que há 7985 MiB disponíveis para tarefas.