翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
コンピューティングリソースメモリ管理
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がタスクに使用できます。