Here are a few steps I would take to analyze the issue:
1. Collect a thread dump of the application to see what threads are currently running and in what state. This will give clues about any threads that may be blocked or spinning.
2. Analyze the thread dump looking for threads that are in a RUNNABLE or BLOCKED state long-term. These could indicate spinning or long waits.
3. Check for threads waiting on locks, semaphores or other synchronization primitives. This could point to a potential deadlock.
4. Trace the code path and logic for threads of interest to understand what they are trying to accomplish and why they may be spinning or blocked.
5. Check
Related topics: