CloudWatch Metric Guide
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.
| Namespace | AWS/ECS |
| Metric name | CPUUtilization |
| Unit | Percent |
| AWS docs | Official 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.
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.
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.