I was debugging an enterprise application at my office today and suddenly got a heap dump – so I thought of creating a new post in this blog about the location of the JVM dump file in JBoss 4.0.5 server along with the stack trace of the error (and what other files are created during dump process). My IDE is IBM’s Rational Software Architecht (RSA) and I am running my JBoss server against a JDK of 1.4.2_12.
As you can see in the stack trace below, the java dump files are located at JBoss bin folder. There were basically three files created during this dump process:
I found this great article written by F.Marchioni at his website. You can read detailed article at his website by clicking here. This is my all time favorite reference for tuning up my JBoss.
I am just providing just a gist of what he is saying regarding the JBoss Performance Tuning.
1. Tune the garbage collector
2. Set -xms and -xmx to the same value
3. Use server vm
4. Turn off distributed garbage collection
5. Turn on parallel garbage collection
6. Don’t use huge heaps, use a cluster
7. Don’t choose an heap larger then 70% of your os memory
8. Tune the heap ratio
9. Monitor the free memory with monitors and snapshots
10. Tune the operating system
11. Lots of requests ? Check jboss thread pool
12. Check the embedded web container
13. Turn off jsp compilation in production
14. lots of ejb requests ? Switch to the poolinvoker
15. Have you got readonly entity beans ? Tell it to jboss
16. Disable the hot deployer in production
17. Configure the ejb container to use cache, when possible.
18. Use cache invalidation in a cluster for commit option a
19. Synchronize at commit time when possible.
20. Use prepared statement cache
21. Remove services you don’t need
22. Tell log4j to shut up !