On Sat, Dec 29, 2007 at 08:44:31AM -0800, Sambasiva Rao Andaluri wrote: > Hi, > We are developing a Java application that consumes real time equity market > data. The application is run on a 2 CPU dual core Opteron box (4 cores with > each 2593Mhz) with about 16GB RAM. The JVM is run in Server mode with 2 GB > heap. Currently we are experiencing some performance issues due to Garbage > collection. JVM uses the default Parallel Garbage collector with 4 threads. > Due to the nature of the application, any stop-the-world garbage collection > activity (for about 7 seconds) is making a huge impact on our application due > to a large number of market data messages (about 1000-3000 messages per sec) > that can queue up application needs to recover or process causing severe > latencies in message processing. We currently using -Xms and -Xmx options set > to the same value for tuning the heap based on Sun's documentation. > > I have couple of questions: > 1. Is there a way to avoid the garbage collection completely by allocating > large amount of heap. > 2. What other JVM options we can use to tune the Garbage collection to make > it quicker. We tried the Concurrent Mark Sweep GC without success (we > encountered an out of memory error within few minutes of application startup)
Maybe I don't answer directly but could you send us 'prstat' while running the application and then 'prstat -mL -p <pid of your java app>'. Regards przemol -- http://przemol.blogspot.com/ ---------------------------------------------------------------------- Rozdajemy nagrody! Wygraj samochod! Sprawdz >> http://link.interia.pl/f1cb8 _______________________________________________ perf-discuss mailing list perf-discuss@opensolaris.org