Our java application(ear) was deployed in J Boss+Linux and We are using mod clusters and have total 8 JV M's or j Boss instances.
We could see that daily one or two of JV M's CPU utilization is reaching to 100% and making application is very slow.
I have tried to get the thread dump by using the j stack and kill Linux commands to identify the causing thread.But unfortunately JV M is not responding if CPU utilization is reaches more than 60% for these commands.
is there any easiest way to identify the thread/method/class name which is causing the issues to increase the CPU utilization?
Could anyone provide the solution asap please?
To get the stack from a hung process use jstack -F <PID>
, see oracle docs
Other solutions can be found here
As you wrote the JVM is not responsive and thus there is no way to get details about executed classes/methods. Thus the answer to "is there any easiest way" would be "NO". ;-)
But maybe it can help you or anyone else (questions was asked 2.5 years ago) what I would do in this case:
This could give you a hint which class/method is currently executed. If you see eg many hundreds SQL queries only used in one single class then this could help you a lot.
"threadcpu" can be downloaded from here: tuxad.com
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.