Why Clockspring Uses High CPU (and When It’s a Problem)

Modified on Fri, 12 Dec, 2025 at 2:22 PM

It’s very common to see Clockspring using a lot of CPU.
This often triggers concern, but high CPU usage is not automatically a problem.


In many cases, it means the system is doing exactly what it should.


This article explains how to tell the difference.


High CPU Is Often Healthy

Clockspring is designed to:

  • move data as fast as downstream systems allow

  • use available resources efficiently

  • avoid idle capacity when work is available

If there is data to process and downstream systems are accepting it, high CPU is expected behavior.

Idle CPU is wasted capacity.


When High CPU Is Not a Problem

High CPU is usually fine when:

  • throughput is high

  • queues are stable or draining

  • backpressure is not constantly engaged

  • nodes remain stable in the cluster

  • latency matches expectations

In this case, CPU is doing useful work.


When High CPU Is a Warning Sign

High CPU becomes a concern when it is paired with:

  • low or declining throughput

  • growing queues

  • frequent garbage collection pauses

  • nodes disconnecting or flapping

  • sluggish UI responsiveness

CPU is busy, but progress is slow.

That indicates a bottleneck somewhere else.


Common Causes of “Bad” High CPU

Garbage Collection Pressure

GC can consume significant CPU without doing useful work.

Symptoms:

  • CPU spikes in bursts

  • throughput dropping during spikes

  • increasing GC frequency over time

GC-heavy CPU is different from processing-heavy CPU.


Disk I/O Bottlenecks

Slow disks cause:

  • threads to block

  • retries and context switching

  • CPU overhead with little forward progress

This is common when repositories are under pressure.


Thread Starvation

If all threads are busy waiting on:

  • slow downstream systems

  • blocked I/O

  • overloaded databases

CPU may stay high while actual work stalls.


Excessive Concurrency

Too many concurrent tasks can:

  • increase context switching

  • amplify GC pressure

  • reduce effective throughput

More threads does not always mean more work gets done.


Why CPU Can Be High Even When “Nothing Is Happening”

Common scenarios:

  • retries looping quickly

  • processors constantly checking empty queues

  • tight polling intervals

  • GC cycles dominating runtime

CPU is active, but not productive.


What CPU Usage Does Not Tell You

CPU alone does not tell you:

  • whether data is being lost

  • whether the flow is healthy

  • where the real bottleneck is

CPU is a signal, not a diagnosis.


What to Check Alongside CPU

Always correlate CPU with:

  • throughput metrics

  • queue sizes

  • GC behavior

  • disk usage and I/O

  • backpressure activity

The relationship between these tells the real story.


Common Mistakes

  • Treating high CPU as a failure by itself

  • Adding artificial limits to “calm things down”

  • Increasing heap size without fixing pressure

  • Scaling out before understanding the bottleneck

These usually make things worse.


Summary

High CPU usage in Clockspring is often a sign of healthy, active processing.

It becomes a problem only when:

  • throughput is low

  • queues are growing

  • GC or I/O dominates

  • cluster stability degrades

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article