Matt,
Monitor what is happening in that "for loop" and see if it is invoked enough to account for the 3.6M classes. There is where I would start looking. If it is, then you are going to have to find some way of refactoring to avoid that, and if you cannot a call to the support line for the product you are using cold be in order.
[edit]
Once again, I cannot answer if that is normal or not for your application for it to grow like that. I am assuming not. You could also increase the stack space -Xss option for
Java, but it is sounding like you are trying to say that you expect it is growing beyond all bounds--that is a problem where refactoring is required.
[/edit]
Les
Matt Taylor wrote:I really not sure what to do next. I rechecked all my method but my application is getting "Exception in thread "commons-pool-EvictionTimer" java.lang.OutOfMemoryError: Compressed class space" after almost 2 hours of running.
I attach here the graph according to jvisual. I notice that it is not on the heap part that is the problem as I only used 606Mb when I have alloted 2Gb max heap size. The only thing i observe is the total class loaded which is high (3.6M loaded classes) while unloaded classes are only 1k. Part of my program invokes a new instance of SOAP webservice classes (uses a third party api) in a for loop. It is required and I need to invoke it. Not sure if that causes it.