Analysing deadlocks with Java Virtual Machine Diagnostics by Raul Castillo Dead lock detection using JVMD


The aim of this manual is to show how useful is the Java Virtual Machine Diagnostics to find the root cause of a thread deadlock in Java.

First of all, it is necessary to create a generator of deadlocks. In this case I’ve made a little web application whose goal is to generate thread deadlocks. The code of this application was downloaded from [1]. The program is very simple as you can see:

Dead lock generator called WebDeadLockV2.0

The thread deadlocks generators is deployed on a Weblogic server. In this case, I am using the Oracle Management Server (OMS) in order to save resources. However, it could be deployed in any other server under the supervision of Oracle Cloud Control.

After deploying the application I sent several requests using this URL:

In order to get an overview of the locks you have to follow these steps:

1. On the left panel you have to select the Java Virtual Machine Pool related to OMS

2. As a result you will see the details about this pool on the right side. The quantity of locks is remarked in red. In this case we can 221 locks. In addition, this problem also is detected by the Admin Console

3. Read the complete article here.

WebLogic Partner Community

For regular information become a member in the WebLogic Partner Community please visit: ( OPN account required). If you need support with your account please contact the Oracle Partner Business Center.

Blog Twitter LinkedIn Forum Wiki


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.