An OutOfMemory occurs when the heap has been expanded to the maximum permitted
and a GC was unable to free up enough space. I suggest in the first instance
observing the results of each GC. Options like -verbose:gc or -Xloggc:<file> 
give
some basic information, but a more detailed understanding about the various
regions within the heap can be obtained through a combination of -XX options 
such as:

-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-XX:+PrintHeapAtGC
-XX:+PrintTenuringDistribution

Short of using a commercial profiling tool, you could also obtain a Heap 
Allocation
Profile to see where large amounts of object data are being allocated but not
freed:

java -Xrunhprof:heap=all,depth=15 TestApp

Further information can be found at the following URLs:

http://java.sun.com/docs/hotspot/gc1.4.2/index.html
http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.html
http://java.sun.com/j2se/1.4.2/docs/guide/jvmpi/jvmpi.html
http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html

--
============================================================================
   ,-_|\   Richard Smith - Technical Specialist
  /     \  Sun Microsystems Australia         Phone : +61 3 9869 6200
[EMAIL PROTECTED]                        Direct : +61 3 9869 6224
  \_,-._/  476 St Kilda Road                    Fax : +61 3 9869 6290
       v   Melbourne Vic 3004 Australia
===========================================================================

===========================================================================
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff JAVA3D-INTEREST".  For general help, send email to
[EMAIL PROTECTED] and include in the body of the message "help".

Reply via email to