Saturday Apr 27, 2013

Analysis against JVM Thread Dump - Out Of Thread

Out Of Thread means there are many tasks (requests) are pending to run, but only a few Threads are available. Many queued tasks have to wait for running threads to be idle. It is a much more complicated case and it is very hard to be identified from Thread Dump log. To dig out the root cause it requires the analyst have much knowledge on the Thread Pool technology. We will have a much more complex source code to demonstrate this.[Read More]

Saturday Apr 20, 2013

Analysis against JVM Thread Dump - Resource Contention

Most of performance issues analyzed against Thread Dump is Resource Contention. That is to say, two or more threads are fighting for the same resource (java object) to ensure they are capable to run, however the resource (java object) is being locked/consumed by another thread and fails to be released in a given time. The keyword in the Thread Dump is "waiting for monitor entry".[Read More]

Wednesday Apr 10, 2013

Analysis against JVM Thread Dump - Dead Lock

Dead Lock is a special error need to be avoided in multi-thread programming. It seldom introduces CPU high usage issue, however the most common phenomenon is that the system hangs and has no response to end user. Absolutely it is quite easy to be identified from JVM Thread Dump. In Oracle Agile PLM, I seldom see such issue except one case several years ago that I cannot remind.

I will not explain the principle of Dead Lock, which you can google everywhere. I will only describe how to analyze in JVM thread dump from below sample source code and thread dump.

[Read More]

Thursday Apr 04, 2013

Analysis against JVM Thread Dump - CPU High Usage Issue

One important duty of mine during years' of technical support is to analyze JVM thread dump, which is an interesting research to help understand how the logic in source code works and more important is that you will learn how to design a good Java EE applications to avoid scenario of high CPU usage, resource contention or something like these. One typical bad design it dead lock, though it seldom happens in modern Java development, but I will demonstrate all of them with sample source code, and show how to analyze the root cause from Thread Dump. All will be practical with no abstract theory. This article will discuss one scenario you will always see, High CPU Usage like 99% or 100%. This case is quite easy to identify the root cause.[Read More]
About


Jie Chen is the L3 memeber in Oracle Agile Support.
This blog focuses on the Maintenance, Diagnosis and Tuning related technical skills.
The technology covers Java/JavaEE, Weblogic, Security, Clustering, and Database of course.

Search

Categories
Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today