Analyzing thread dumps in Atlassian Confluence is the most effective method for diagnosing critical performance degradation, high CPU usage, and complete application lockups. A thread dump provides a precise, point-in-time snapshot of every single activity happening within the Java Virtual Machine (JVM) hosting Confluence.
The core frameworks and practices required to systematically navigate, read, and diagnose an Atlassian Confluence thread dump are detailed below. 1. Capturing the Thread Dumps Correctly
A single thread dump only reveals a snapshot, which is rarely enough to show a progression or a stuck process. You must capture them sequentially:
Interval Strategy: Capture a series of 6 thread dumps at 10-second intervals (spanning 1 minute total) while Confluence is actively misbehaving.
Linux Generation: Find the Java process ID (PID) and use the command kill -3 . This will safely route the thread dump directly to your Confluence standard output file, typically found at .
Cross-Platform Jstack: Alternatively, run jstack -l using the same system user running Confluence. 2. Eliminating the Noise
A typical Confluence instance contains hundreds of active threads. To locate the problem efficiently, you must quickly isolate and ignore background JVM housekeeping threads:
Ignore Background Noise: Disregard idle thread pools like standard HTTP connector threads (http-nio-…-exec), database pool threads (HikariPool / C3P0 waiting for connections), and internal framework threads that are sitting on TIMED_WAITING or BLOCKED states naturally while idling.
Isolate Confluence Core: Focus your searches on threads containing com.atlassian.confluence within their stack traces to find application-level bottlenecks. 3. Identifying Problem Patterns
When looking at your captured sequences, look for three main architectural hazards:
[Thread 1: RUNNABLE] —> Holds Lock <0x0000000711> (Processing Complex Query) ^ [Thread 2: BLOCKED] ——–======| Waiting to acquire Lock <0x0000000711> [Thread 3: BLOCKED] ——–======| Waiting to acquire Lock <0x0000000711> Generating a thread dump | Atlassian Support
Leave a Reply