outOfMemory with HotSpot/Solaris but runs fine with JRockit/SuSE

I have an application that periodically runs out of memory on a large Solaris server with HotSpot, but runs fine on a smaller server with JRockit. We want to move to the large Solaris server but need to resolve the out of memory issue first.

DETAILS

This application receives about 1 Mbit per second peak input from two data sources via tcp. The out of memory does not correlate with peak load. The server is an HP Galaxy with 4 AMD cpus and 16 Gig of memory. The JVM is Hotspot 1.5_09. The application is using 300 to 500 Mbytes of memory according to top. We start it with the -Xms250m argument.

uname -a = Sun OS 5.1

The stable server is a dual cpu SuSE 9.3 with 2 Gig of memory running JRockit 1.5_09.

Neither machine shows significant cpu load.

Sporadically (not discernable pattern), the application throws an OutOfMemory error.

It could be a bug, but I need some diagnostic info to find it. I'm concerned that the thread receiving input does not have enough memory. When a thread runs on a cpu, is there some limitation on the memory available? Is there some way to track this?

Thanks

[1147 byte] By [daisyDreama] at [2007-11-26 18:40:29]
# 1
turn on verbose:gcWatch what is running out of spacetune accordingly http://java.sun.com/docs/hotspot/gc5.0/gc_tuning_5.htmlAlso, have you tried different collectors?
hydr0gen1a at 2007-7-9 6:14:30 > top of Java-index,Desktop,Runtime Environment...