Where is the JVM Dump file physically located in JBoss Server environment?

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:

  • System Dump File – core.20100830.093556.8156.dmp
  • Snap Dump File – Snap0001.20100830.093556.8156.trc
  • Java Dump file – javacore.20100830.093556.8156.txt

Unhandled exception
Type=Segmentation error vmState=0x00040000
Target=2_30_20060501_06428_lHdSMR (Windows XP 5.1 build 2600 Service Pack 3)
CPU=x86 (2 logical CPUs) (0xdcfd4000 RAM)
J9Generic_Signal_Number=00000004 ExceptionCode=c0000005 ExceptionAddress=70E8DB1C ContextFlags=0001003f
Handler1=71050180 Handler2=70FA74A0 InaccessibleAddress=00000000
EDI=00000000 ESI=24E18B3E EAX=00000000 EBX=00000000
ECX=70E8C640 EDX=2467FBB4
EIP=70E8DB1C ESP=2467FBB8 EBP=24633100
Module=C:Program FilesIBMSDP70runtimesbase_v61javajrebinj9jit23.dll
Module_base_address=70C70000 Offset_in_DLL=0021db1c
JVMDUMP006I Processing Dump Event "gpf", detail "" - Please Wait.
JVMDUMP007I JVM Requesting System Dump using 'C:jboss-4.0.5.GAbincore.20100830.093556.8156.dmp'
JVMDUMP010I System Dump written to C:jboss-4.0.5.GAbincore.20100830.093556.8156.dmp
JVMDUMP007I JVM Requesting Snap Dump using 'C:jboss-4.0.5.GAbinSnap0001.20100830.093556.8156.trc'
JVMDUMP010I Snap Dump written to C:jboss-4.0.5.GAbinSnap0001.20100830.093556.8156.trc
JVMDUMP007I JVM Requesting Java Dump using 'C:jboss-4.0.5.GAbinjavacore.20100830.093556.8156.txt'

22 Ways To JBoss Performance Tuning

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 !