コンピューティングリソースメモリ管理 - AWS Batch

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

コンピューティングリソースメモリ管理

Amazon ECSコンテナエージェントが、コンテナインスタンスコンピュートリソースをクラスターコンピューティング環境に登録する場合、エージェントはタスクジョブの実行のために、コンテナインスタンスコンピューティングリソースが使用できるメモリ容量を決定する必要があります。プラットフォームのメモリオーバーヘッドとシステムカーネルが占めるメモリのため、この数値は、Amazon EC2 インスタンスとして公開されているインストール済みメモリ量とは異なります。例えば、m4.large インスタンスには 8 GiB のメモリがインストールされています。しかし、これはコンピューティングが登録されたときに、 ジョブに厳密に8192 MiBのメモリに常に変換されるとは限りません。

ジョブに8192 MiB を指定した場合、この要件を満たす使用可能なメモリが 8192 MiB以上のメモリがないとします。その場合、そのジョブをコンピューティング環境に置くことができなくなります。マネージド型コンピューティング環境を使用している場合、リクエストに対応するためには、AWS Batchはより大きなインスタンスタイプを起動する必要があります。

デフォルト AWS Batch コンピューティングリソースAMIも、Amazon ECS コンテナエージェントやその他の重要なシステムプロセス用に32 MiBのメモリを予約します。このメモリはジョブの割り当てには使用できません。詳細については、システムメモリの予約を参照してください。

Amazon ECS コンテナエージェントは、Docker ReadMemInfo()関数を使用してオペレーティングシステムで使用可能な合計メモリのクエリを実行します。Linuxは、合計メモリを判断するためにコマンドラインユーティリティを提供します。

例 - 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

このインスタンスには 8373026816バイトの合計メモリがあります。つまり、7985 MiBがタスクに使用できます。

システムメモリの予約

タスクジョブでコンピューティングリソース上の全メモリを占有している場合、タスクジョブがメモリを必要とする重要なシステムプロセスと競い、システム障害の引き金となる可能性があります。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. リソースとネットワーキング セクションに、コンピューティングリソース用に登録され、使用できるメモリが表示されます。

    登録済み メモリの値は、Amazon ECSの初回起動時に登録されたコンピューティングリソース のメモリの値です。使用可能] メモリの値は。まだタスクジョブ に割り当てられていないメモリの値です。