Hemang Jani wrote:Thank you all for your attention.
This issue is only in production environment and do not have previledge to install any profilers on the production servers.
You can install a profiler in your dev or other environment and tell it to remotely connect to production.
You can use JMX to remotely query your production process for all kinds of stuff, including lots of thread and memory information, such as how much total CPU time a given thread has consumed (though I though a thread dump already showed that).
You can try to make Dev or QA more like production--more load or whatever.
Otherwise all I can think of is to take lots of heap dumps and see which threads are usually running.
And finally, failing all else, you can explain to your boss that no progress is being made this way, and the only way you have left to proceed toward a solution is to install a profiler in production.