컴퓨팅 리소스 메모리 관리 - AWS Batch

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

컴퓨팅 리소스 메모리 관리

Amazon ECS 컨테이너 에이전트가 컨테이너 컴퓨팅 리소스를 컴퓨팅 환경에 등록할 때 에이전트는 컨테이너 컴퓨팅 리소스가 작업용으로 예약할 수 있는 메모리 양을 결정해야 합니다. 플랫폼 메모리 오버헤드와 운영 체제 커널이 차지하는 메모리로 인해 이 수치가 Amazon EC2 인스턴스에 대해 설치된 메모리 용량과 다르기 때문입니다 예를 들어, m4.large 인스턴스의 설치된 메모리는 8GiB입니다. 하지만 이는 컴퓨팅 리소스 등록 시 작업에 대해 정확히 8,192MiB의 메모리를 사용할 수 있음을 의미하지 않습니다.

작업에 8,192MiB를 지정하는 것을 가정하고, 컴퓨팅 리소스 중 사용할 수 있는 메모리가 8,192MiB 이상인 컴퓨팅 리소스가 없다고 가정해 보겠습니다. 그러면 해당 작업을 컴퓨팅 환경에 배치할 수 없습니다. 관리형 컴퓨팅 환경을 사용 중인 경우 AWS Batch은(는) 요청을 수용하기 위해 더 큰 인스턴스 유형을 시작해야 합니다.

기본 AWS Batch 컴퓨팅 리소스 AMI는 또한 Amazon ECS 컨테이너 에이전트 및 기타 중요 시스템 프로세스에 대해 32MiB의 메모리를 예약합니다. 이 메모리는 작업 할당에 사용할 수 없습니다. 자세한 내용은 시스템 메모리 예약 섹션을 참조하세요.

Amazon ECS 컨테이너 에이전트는 Docker ReadMemInfo() 함수를 사용하여 운영 체제가 사용할 수 있는 전체 메모리를 쿼리합니다. Linux와 Windows 모두 명령줄 유틸리티를 제공하여 총 메모리를 결정합니다.

예 - Linux 총 메모리 결정

free 명령은 운영 체제가 인식한 총 메모리를 반환합니다.

$ free -b

다음은 Amazon ECS 최적화된 Amazon Linux AMI를 실행하는 m4.large 인스턴스의 출력의 예입니다.

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

이 인스턴스의 총 메모리는 8,373,026,816바이트입니다. 즉, 태스크에 7,985MiB을 사용할 수 있습니다.

시스템 메모리 예약

컴퓨팅 리소스의 모든 메모리를 작업에 사용하는 경우 작업 및 메모리의 중요 시스템 프로세스 경합으로 인해 시스템 오류가 발생할 수 있습니다. Amazon ECS 컨테이너 에이전트는 ECS_RESERVED_MEMORY라는 구성 변수를 제공합니다. 이 구성 변수를 사용하여 작업에 할당된 풀의 지정된 메모리 용량(MiB)을 제거할 수 있습니다. 이를 통해 중요 시스템 프로세스에 대한 메모리를 효율적으로 예약합니다.

기본 AWS Batch 컴퓨팅 리소스 AMI는 Amazon ECS 컨테이너 에이전트 및 기타 중요 시스템 프로세스에 대해 32MiB의 메모리를 예약합니다.

컴퓨팅 리소스 메모리 보기

컨테이너 컴퓨팅 리소스가 Amazon ECS 콘솔 또는 DescribeContainerInstances API 작업에 등록하는 메모리 양을 확인할 수 있습니다. 특정 인스턴스 유형에 대해 가능한 많은 메모리를 제공하여 리소스 사용률을 최대화하고자 하는 경우 컴퓨팅 리소스에 대해 사용 가능한 메모리를 관찰한 다음 작업에 메모리를 할당할 수 있습니다.

컴퓨팅 리소스 메모리를 보려면
  1. https://console.aws.amazon.com/ecs/v2에서 콘솔을 엽니다.

  2. 클러스터를 선택한 다음 보려는 컴퓨팅 리소스를 호스팅하는 클러스터를 선택합니다.

    컴퓨팅 환경에 대한 클러스터 이름은 컴퓨팅 환경 이름으로 시작됩니다.

  3. 인프라를 선택합니다.

  4. 컨테이너 인스턴스에서 연결할 컨테이너 인스턴스를 선택합니다.

  5. 리소스 및 네트워킹(Resources and networking) 섹션에서는 컴퓨팅 리소스에 대해 등록된 메모리와 사용 가능한 메모리를 보여줍니다.

    등록(Registered) 메모리 값은 처음 시작할 때 Amazon ECS에 등록된 컴퓨팅 리소스의 값이며, 사용 가능한 메모리 값은 작업에 할당되지 않은 값입니다.