Amazon ECS 集群预留指标
集群预留指标以所有 Amazon ECS 任务在某个集群上预留的 CPU、内存和 GPU 占已为该集群中每个活动容器实例注册的聚合 CPU、内存和 GPU 的百分比来度量。仅处于 ACTIVE 或 DRAINING 状态的容器实例将影响集群预留指标。此指标仅用于包含在 EC2 实例上托管的任务或服务的集群。包含在 Amazon Fargate 上托管任务的集群不支持此指标。
                               (Total CPU units reserved by tasks in cluster) x 100
Cluster CPU reservation =  --------------------------------------------------------------
                           (Total CPU units registered by container instances in cluster)                                   (Total MiB of memory reserved by tasks in cluster x 100)
Cluster memory reservation =  ------------------------------------------------------------------
                              (Total MiB of memory registered by container instances in cluster)                                  (Total GPUs reserved by tasks in cluster x 100)
Cluster GPU reservation =  ------------------------------------------------------------------
                              (Total GPUs registered by container instances in cluster)当您在某个集群中运行某项任务时,Amazon ECS 将分析该集群的任务定义并预留在该集群的容器定义中指定的聚合 CPU 单元数、内存 MiB 数和 GPU 数。Amazon ECS 每分钟都会计算当前为在该集群中运行的每个任务预留的 CPU 单元数、内存 MiB 数和 GPU 数。它还会计算为在该集群上运行的所有任务预留的 CPU、内存和 GPU 的总量,这些数字将以占该集群的注册资源总量的百分比的形式报告给 CloudWatch。如果您在任务定义中指定软限制(memoryReservation),它将用于计算预留内存量。否则将使用硬限制 (memory)。集群中的任务预留的总内存量(以 MiB 为单位)还包括临时文件系统(tmpfs)卷大小,如果在任务定义中定义,还包括 sharedMemorySize。有关软限制和硬限制、共享内存大小和 tmpfs 卷大小的更多信息,请参阅任务定义参数。
例如,某个集群注册了两个活动容器实例:一个 c4.4xlarge 实例和一个 c4.large 实例。c4.4xlarge 实例在集群中注册了 16,384 个 CPU 单元和 30,158 MiB 内存。c4.large 实例注册了 2,048 个 CPU 单元和 3,768 MiB 内存。此集群的聚合资源为 18,432 个 CPU 单元和 33,926 MiB 内存。
如果某个任务定义预留了 1024 个 CPU 单元和 2048 MiB 内存,并且在此集群上启动了 10 个使用此任务定义的任务(当前没有运行其他任务),则总共将预留 10240 个 CPU 单元和 20480 MiB 内存。此信息将以集群的 55% CPU 预留量和 60% 内存预留量的形式报告给 CloudWatch。
下图显示了在某个集群中注册的 CPU 单元总数,以及它们的预留和利用率对现有任务和新任务放置的意义。下面的块(已预留,已使用)和中间的块(已预留,未使用)表示为集群上运行的现有任务预留的总 CPU 单元数(即 CPUReservation CloudWatch 指标)。下面的块表示正在运行的任务在集群上实际正在使用的预留 CPU 单元数(即 CPUUtilization CloudWatch 指标)。上面的块表示现有任务未预留的 CPU 单元数;这些 CPU 单元可用于新任务放置。现有任务如果对 CPU 资源的需求增加,也可以使用这些未预留 CPU 单元。有关更多信息,请参阅 cpu 任务定义参数文档。