CloudWatch Metric Guide

AWS/ECS/CPUUtilizationPercent

CPUUtilizationAmazon ECS CloudWatch metric

CPUUtilization for ECS measures the percentage of CPU units reserved by the tasks in a service that are in use, averaged across the tasks in the service.

What it measures

About CPUUtilization

CPUUtilization for ECS measures the percentage of CPU units reserved by the tasks in a service that are in use, averaged across the tasks in the service.

NamespaceAWS/ECS
Metric nameCPUUtilization
UnitPercent
AWS docsOfficial Amazon ECS metrics reference

Why this metric matters

CPU saturation in ECS has a compounding effect on latency. Unlike a single server that degrades gracefully, an ECS service at CPU saturation is simultaneously throttling every container's CPU allocation. Requests queue behind each other, and P99 latency climbs much faster than average latency — the metrics that matter most for user experience deteriorate fastest.

ECS CPUUtilization is also the trigger metric for Auto Scaling policies. If your scale-out threshold is set at 80% but the metric doesn't alarm until 90%, you're scaling reactively — new tasks take 30–60 seconds to become healthy, and your existing tasks have been degraded for that entire window. Tight monitoring of this metric is what separates proactive from reactive scaling.

Recommended alarm threshold for CPUUtilization

Recommended threshold

> 85% sustained for 3 minutes

ECS services typically use CPUUtilization as the Auto Scaling target metric. An alarm threshold slightly above the scaling target (Nuberio recommendation: 85% for services with an 80% scaling target) catches cases where scaling is not keeping pace with traffic growth. The 3-minute evaluation period avoids alarm on brief CPU spikes during container startup or garbage collection.

Is your CPUUtilization alarm already set up correctly?

The free Nuberio Audit scans your CloudWatch setup and flags missing or misconfigured alarms — including CPUUtilization — in 5 minutes.

Run a free audit →

Common failures that show up in CPUUtilization

When CPUUtilization reaches an alarm threshold, these are the most common root causes — in order of how often Nuberio sees them across customer AWS accounts.

  • Under-provisioned task CPU reservation — tasks CPU limit set lower than peak workload requirements, throttling the container at peak

  • Auto Scaling policy too conservative — scale-out cooldown too long, or minimum capacity set too low for traffic patterns

  • Garbage collection pauses in JVM containers — GC stop-the-world events spike CPU periodically and cause the service to appear CPU-healthy between measurements

  • Noisy neighbor at the cluster level — in EC2 launch type, other services on the same host compete for CPU

  • Missing horizontal scaling — service relies on vertical scaling assumptions, but ECS task sizes are fixed at deploy time

How the Nuberio Audit checks CPUUtilization

The free Audit scans every Amazon ECS resource in your account and checks whether a CPUUtilization alarm exists, whether its threshold and evaluation period are configured sensibly, and flags it if it's missing entirely. Every finding comes with the exact CLI command to fix it — read-only access, no credit card, results in about 5 minutes.

Nuberio Audit

Scans your CloudWatch setup for missing or misconfigured CPUUtilization alarms. Free, 5-minute read-only scan.

Run a free audit →

Related Amazon ECS metrics

CPUUtilization rarely fails in isolation. These metrics tend to correlate — monitor them together for complete Amazon ECS coverage.

FAQ

Frequently asked questions about CPUUtilization

Common questions about setting up CloudWatch alarms for CPUUtilization in Amazon ECS.

What is the recommended CloudWatch alarm threshold for CPUUtilization?+

> 85% sustained for 3 minutes. ECS services typically use CPUUtilization as the Auto Scaling target metric. An alarm threshold slightly above the scaling target (Nuberio recommendation: 85% for services with an 80% scaling target) catches cases where scaling is not keeping pace with traffic growth. The 3-minute evaluation period avoids alarm on brief CPU spikes during container startup or garbage collection.

Which CloudWatch namespace does CPUUtilization belong to?+

CPUUtilization is published in the AWS/ECS namespace with a unit of Percent. You can find it in the CloudWatch console under "Metrics" → "AWS/ECS". See the Amazon ECS CloudWatch metrics reference in the AWS documentation.

Does Nuberio automatically create CloudWatch alarms for CPUUtilization?+

No — the free Nuberio Audit does not create alarms for you. It scans your CloudWatch setup and tells you which Amazon ECS resources are missing a CPUUtilization alarm, then gives you the exact CLI command to create it yourself.

Can I use Nuberio without already having a CPUUtilization alarm set up?+

Yes. The free Audit works whether or not you have any CPUUtilization alarm configured — it reads the resource directly from CloudWatch and tells you which resources need one, plus the copy-paste AWS CLI command to create it.

This page is part of the CloudWatch metric guide — thresholds and debugging guidance for every metric across RDS, Lambda, ECS, ALB, EC2, DynamoDB, SQS, API Gateway, S3, CloudFront, ElastiCache, and EKS. To find which Amazon ECS alarms your account is missing — including CPUUtilization — run the free CloudWatch alarm audit. The scan takes under 5 minutes and requires no account.