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

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

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

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

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

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

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

例 -Linux 合計メモリを決定

free コマンドは、オペレーティングシステムによって認識される合計メモリを復活します。

$ free -b

以下は、Amazon ECSに最適化された Amazon Linux を実行しているm4.largeインスタンスの出力例ですAMI。

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

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