Gerenciamento de memória de recursos de computação - AWS Batch

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.