Agent Dashboard — JVM CPU
What this chart shows
JVM CPU % — the percentage of total host CPU consumed specifically by the copy engine JVM process, sampled from OperatingSystemMXBean.getProcessCpuLoad() and reported on every heartbeat (~30 s + 0–10 s jitter).
Compare this against Host CPU to isolate how much of the host's compute budget the copy engine is consuming vs other processes.
How to read it
| Value range | Interpretation |
|---|---|
| 0–30% | Normal during active copy jobs |
| 30–60% | Heavy copy workload — many parallel threads compressing, hashing, or transferring |
| > 60% | CPU-bound — consider reducing copy_threads_per_job or spreading jobs across agents |
JVM CPU vs Host CPU
- JVM CPU tracks only the copy engine process.
- Host CPU tracks the entire machine.
If Host CPU >> JVM CPU, another process on the same host is competing for resources. If JVM CPU ≈ Host CPU, the copy engine is the dominant consumer and any saturation is directly caused by copy workload.
Polling interval
Sampled on every heartbeat (~30 s + 0–10 s jitter). JVM CPU can spike briefly during GC collection cycles — these appear as narrow spikes on the chart and are normal.
Tips
- S3 TransferManager (TM) uploads are I/O-bound rather than CPU-bound. High JVM CPU with TM enabled usually indicates heavy multipart preparation or large-object reads from the source.
- If JVM CPU is saturated but object throughput is low, GC pressure is likely. Check the JVM Heap Used chart — if heap is also high, the agent needs more memory.