Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Get deadlock detection from running programm or dump in Java

I have a piece of running java software that is jammed. I would like to get a view inside but have got no idea how to do that.

Is there some tool that I can give a PID and it will tell me where every thread is currently located and maybe a few values of the variables as well? I'm running linux.

I more or less know what is causing the problem, but there a still a few possible cases, therefor pinpointing it would be nice.

I can't reproduce the error because it only appears every few days and never appeared while debugging, so this is a unique change of getting to know the enemy.

Any ideas?

like image 989
Franz Kafka Avatar asked Dec 07 '22 18:12

Franz Kafka


1 Answers

Actually you can try to use visualvm + its threads monitoring plugin. You will be also able to make a thread dump, view thread stack traces ant their states. You can also use jconsole to detect deadlocks. Both tools are part of JDK. JConsole

Here is some more info on using visualvm for thread analysis.

like image 170
szhem Avatar answered Jan 05 '23 22:01

szhem