Ram Lakshmanan, our founder, recently had the opportunity to deliver 3 talks at the JavaOne conference. Here is one presentation about the thread dumps.
Description If threads are blocking momentarily, then it’s not a problem. However, if they are blocking for a prolonged period, then it’s of concern. It's indicative of some problem in the application. Typically blocked threads would make application unresponsive. Threads... Continue Reading →
Description You might have experienced the application’s CPU to spike up suddenly & spike wouldn’t go down until JVM is recycled. You restart the JVM, after certain time period CPU consumption would once again start to spike up. Then you will have to... Continue Reading →
Description Thread-A could have acquired the lock-1 and then would never release it. Thread-B could have acquired lock-2 and waiting on this lock-1. Thread-C could be waiting to acquire lock-2. This kind of transitive blocks between threads can make entire application unresponsive. See the real-world... Continue Reading →
Description When there is a performance bottleneck in the application, most of the threads will start to accumulate on that problematic bottleneck area. Those threads will have same stack trace. Thus whenever a significant number of threads exhibit identical/repetitive stack trace then those... Continue Reading →
Description If several threads in a thread dump end up working on one single method, then it might be of concern. Most of the times, if there is a problem (say poorly responding data source, un-relinquished lock, infinite looping threads... Continue Reading →
Description In thread dump analysis, one of the key parameter to watch out is: Thread Count. You need to know the application's thread count consumption under the normal scenario. This understanding will help you in following scenarios: 1. To gauge... Continue Reading →
Description Objects that have finalize() method are treated differently during Garbage collection process than the ones which don't have them. During garbage collection phase, object with finalize() aren't immediately evicted from the memory. Instead as first step, those objects are added... Continue Reading →