If Bamboo stops responding, or is performing poorly, you should create a thread dump to help Atlassian determine the cause of the problem.
This will show the state of each thread in the JVM, including a stack trace and information about what locks that thread is holding and waiting for.
Find the process id of the JVM and issue the command:
Use the ps command to get list of all processes.
kill -3 <pid> |
Note: This will not kill your server (so long as you included the "-3" option, no space in between).
The thread dump will be printed to Bamboo's standard output.
Please note that some application servers (like tomcat) redirect stdout (to catalina.out for instance). |
Sun JDK 1.5 and above ship with native tool called jstack to perform thread dump. To use the tool find the Proccess ID and execute the command:
jstack <ProccessID> |
If you run your Atlassian product via wrapper (as a service) on Windows, you may encounter this error, 'Not enough storage is available to process this command'. See the suggestions in this KB article for workarounds. |
Oracle JDK has a native tool jvisualvm to perform thread dumps (and much more). To use the tool execute the command:
jvisualvm |
Find Bamboo process ({{com.atlassian.bamboo.server.Server}}) and execute "Thread Dump" option available from a context menu.