Without more information, all I can suggest is going back to solaris :-).
Increasing the heap size with -Xmx is the obvious thing to do, but that may just postpone the problem for a while.
Try running your app again with the options '-XX:+PrintGCDetails -XX:+PrintGCTimeStamps' and save the output. If it's not too large, post it here. Or you can email it to "hotspotgc-feedback at sun dot com". Either way be sure to include the output from java -version and all the command line arguments you are passing to java.