Hohe CPU-Auslastung in Java
Hohe CPU-Auslastung in Java ist oft eine Mischung aus Hotspots in Methoden, GC-Verhalten, Lock-Contention und Overhead durch Thread-Scheduling.
Common symptoms
- JVM-Prozess bleibt unter Last dauerhaft hoch
- Latenz steigt bei vielen Requests
- CPU-Auslastung steigt ohne proportionalen Durchsatz
Likely causes
- Hot Code Path unter Last
- Übermäßige Garbage Collection
- Zu viele Threads oder Lock-Contention
Evidence to look for
Java-PID dominiert die CPU-Auslastung
Thread-Anzahl steigt zusammen mit der CPU-Auslastung
Sampling weist auf eine kleine Anzahl von Methoden hin
What it usually means
Die Lösung hängt davon ab, ob die JVM Zeit mit nützlichen Berechnungen, Garbage Collection oder Synchronisations-Overhead verbringt.
What to do next
- 1Thread- und GC-Verhalten zusammen mit der CPU-Auslastung untersuchen
- 2Hotspots in Methoden profilieren, bevor man blind optimiert
- 3Thread-Contention und teure Allokationen reduzieren
See what's causing your CPU
cpum.ai turns CPU, process, disk, and memory signals into plain-English explanations with evidence.
Open cpum.ai