Ok guys,
After trying all your suggestions, here is the combination that worked
best for me (in the order of their impact solving the problem):
JVM_FLAGS=-server \
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode \
-XX:+UseCompressedOops \
-XX:+DoEscapeAnalysis \
-XX:+UseBiasedLocking \
Hello fellow Clojurians,
I got lots of java.lang.OutOfMemoryError: GC overhead limit exceeded
exceptions ,and after a short investigation added the following
flags (JVM 1.6.0_17):
-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:
+CMSIncrementalPacing
These flags seems to solve the problem,
First, make sure you have -server. If you can spare more heap, use -
Xmx1g . If you're on a 64bit jvm, -XX:+UseCompressedOops adds a
significant boost. A flag that helps quite a bit is -XX:
+DoEscapeAnalysis . Finally, if you want to play around with the JIT
threshold, use -XX:CompileThreshold=n
I use -XX:+UseConcMarkSweepGC. And don't forget -Xmx, just having a
bigger heap can solve some problems. Some people have found it
necessary to increase the PermGen size, but usually only for programs
that generate a lot of functions dynamically.
-SS
On Jan 7, 4:20 am, Gabi
Thanks I'll try those flags. I indeed use 64 bits
On Jan 7, 6:47 pm, kyle smith the1physic...@gmail.com wrote:
First, make sure you have -server. If you can spare more heap, use -
Xmx1g . If you're on a 64bit jvm, -XX:+UseCompressedOops adds a
significant boost. A flag that helps quite a bit
What I use:
-Xincgc : enable incremental garbage collector. Works great when
there's more than 1 CPU
-Xms4000m -Xmx4000m : set both min and max heap size to the same
amount (4 Gb in this case). Prevents dynamic heap resizing, which at
high loads may result in unexpected out of memory errors and
Hi Gabi,
This may not be useful, but have you tried running the Clojure new
branch? Rich implemented fine-grained locals clearing on the new
branch, and it helps avoid holding onto unused data accidentally.
Have you tried running with escape analysis on? It might help take
some of the burden off the garbage collector.
-XX:+DoEscapeAnalysis
On Jan 7, 4:20 am, Gabi bugspy...@gmail.com wrote:
Hello fellow Clojurians,
I got lots of java.lang.OutOfMemoryError: GC overhead limit exceeded
exceptions