---
title: Debug High CPU Usage
url: "/docs/debug/high-cpu/"
canonical_url: https://docs.blossom88.com/docs/debug/high-cpu/
markdown_url: https://docs.blossom88.com/docs/debug/high-cpu.md
summary: Diagnose sustained application CPU pressure
categories:
- debugging
- performance
- troubleshooting
---

# Debug High CPU Usage

High CPU is a Service outcome. Start with Service metrics and logs to determine
whether the workload needs a code fix, a larger Container allocation, or more
replicas.

## Common Causes

- tight loops or unexpectedly expensive requests
- repeated Database, Cache, or external-service connection attempts
- worker concurrency above the Service's CPU allocation
- traffic exceeding the current replica count
- memory pressure that causes excessive garbage collection

## Investigate

1. Select the Service and compare CPU across its Containers.
2. Correlate the pressure window with Releases and Activity.
3. Read logs for repeated errors, timeouts, retries, or slow work.
4. Check Database or Cache health when the application is retrying a dependency.
5. Use `blossom shell` on an affected Container when interactive application
   diagnostics are necessary.

## Stabilize The Service

- Scale replicas down to zero only when stopping the workload is safer than
  allowing it to continue.
- Increase replicas when work is parallelizable and traffic is the cause.
- Increase the Service allocation when one process legitimately needs more CPU
  or memory.
- Roll back when the pressure began with a bad Release.

Capacity may grow automatically when the desired Containers no longer fit in
the active regional Capacity, within your capacity limit.

Larger allocations do not fix connection retry loops or inefficient code.
Confirm the cause before turning a temporary stabilization step into the
permanent Service policy.
