Javacores and heapdumps are truncated, file size is only 512KB
 Technote (FAQ)
 
Problem
When running on a build of the 1.3.1 Java™ 2 SDK prior to SR3 (build 20020828), javacores and heapdumps are buffered. The default buffer size is 512 KB. This default buffer size will cause javacores and heapdumps that are larger than 512KB to be truncated.
 
Cause
Javacores and heapdumps are buffered.
 
Solution
If java -fullversion returns a build prior to SR3 (build 20020828), javacores and heapdumps are buffered. The default buffer size is 512 KB. This default buffer size will cause javacores and heapdumps that are larger than 512KB to be truncated.

How do I tell if I am running a build of a JDK that buffers javacore and heapdump output?

Windows

From the C: \WebSphere\Appserver\java directory, issue the following command:

java -fullversion

The output will look something like this:
java full version "J2RE 1.3.1 IBM Windows 32 build cn131w-20020710 ORB130"

AIX

From the AIX: /usr/WebSphere/AppServer/java/jre/bin directory, issue the following command:

./java -fullversion

The output will look something like this:
java full version "J2RE 1.3.1 IBM AIX build ca131w-20030103 ORB130"

How do I override the default buffer setting of 512KB?

Windows

Add the following lines to the top of the adminserver.bat file in the <WAS-Root>/bin directory, after the call to setupCmdLine.bat:

call "%~dp0setupCmdLine.bat"
set _JVM_THREAD_DUMP_BUFFER_SIZE=<size in bytes>

When you start the adminserver, you must use the modified adminserver.bat file from a command prompt instead of using the services panel.

AIX

In the startupServer.sh script, add the following entry (where <size in bytes> is the size you want to set the buffer to):

export _JVM_THREAD_DUMP_BUFFER_SIZE=<size in bytes>


What is the recommended setting for JVM_THREAD_DUMP_BUFFER_SIZE?

Are your javacores truncated?

If you javacores are truncated, set the _JVM_THREAD_DUMP_BUFFER_SIZE to 2097152 bytes (2MB)

Are your heapdumps truncated?

If you heapdumps are truncated, set the _JVM_THREAD_DUMP_BUFFER_SIZE to 1/2 of the mx value. For example, if your mx is set to 512 MB, set the _JVM_THREAD_DUMP_BUFFER_SIZE to 268435456 bytes (256 MB)

If the heapdumps are still truncated, you can set the buffer to the same size as the mx value. Beware, physical RAM is necessary for this buffer. This buffer is in addition to memory that the java process is already using. This buffer is allocated at the point of doing the dump.

 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > Java SDK
Operating system(s): Windows
Software version: 4.0.7
Software edition:
Reference #: 1111604
IBM Group: Software Group
Modified date: Feb 17, 2005