I have an application running on tomcat 5.5. After 2-3 days tomcat start occupying very high CPU and application becomes unresponsibe. I have told it seems there is some sun native method which is being called unwantedly and threads are not being closed. I am attaching application thread dump over here. Can someone please take a look at this and advise what is actually happening with the application. ThreadDump.log
Java App ServersJava
Last Comment
Prajal_Sutaria
8/22/2022 - Mon
Ajay-Singh
I feel, its typical symptom of GC running aggressively. You can check
the following:
1. Enable gc logging, by adding "-verbose:gc -Xloggc:gc.log" to startup
options
2. Take a thread-dump when the application is not responding, analyze it
and see which thread is eating up CPU.
Prajal_Sutaria
ASKER
Abobe attached thread dump has been taken while application was not responding. Can you please check and see if there is anything suspicious ?
In attached thread dump maximum threads are waiting for below method.
at java.beans.Introspector.findExplicitBeanInfo(Introspector.java:408)
- waiting to lock <0x0000002a9cfd4e60> (a java.lang.Class)
What does this mean ? Can someone tell me what does it lead to and in which type of issue / bug / leak could be. Any help to sort this issue ?
Mick Barry
its waiting to lock the specified object
it cannot because some other thread has that object locked
search the thread dump for all references of that object and see which is holding the lock
the following:
1. Enable gc logging, by adding "-verbose:gc -Xloggc:gc.log" to startup
options
2. Take a thread-dump when the application is not responding, analyze it
and see which thread is eating up CPU.