I am getting an OutOfMemory Error in the compiled version (compiler 3.7) of my application. This happens when multiple threads are busy performing computation intesive tasks. When I run the application in interpreted mode for the same scenario, it seem to run fine.
After observing the heap usage pattern, it seems to me that garbage collection is not happening when it is needed. Is there any reason why GC thread might be blocked or paused for long period?
I have used different GC ratio, but the application seems to always crash due to OutOfMemory. Since the interpreted version of the application does not seem to lose any memory, I am assuming that there is no potential memory leak.
I was wondering whether anyone knows any jet runtime options that will provide GC threads higher priority to perform garbage collection.