JVM Options?

Prior to jdk update 20, it was recommned (by Randall I think) to use -XX:-ReduceInitialCardMarks. I've just removed that as I'm using build 20 (so far so good).

But has anybody found any other jvm options that work well for idea+scala?

My options are quite simple right now:

-Xms2048m
-Xmx2048m
-XX:MaxPermSize=512m
-ea

And all of that 2048m is indeed used. Even for compiling a single file.

9 comments
Comment actions Permalink

use jdk7
it's a LOT faster than jdk6, almost twice as fast at what i'm doing (many array operations)

oops, you meant for the plugin itself? i run idea at 500mb and that's enough, no special options. java uses as much memory as you provide, it doesn't mean it needs 4 gig if it uses 4 gig

0
Comment actions Permalink

What JDK7 build do you use?

As for memory usage, I'm going by Idea's memory usage indicator which shows how much of the -Xms is actually being used.

0
Comment actions Permalink

right now no. 94

0
Comment actions Permalink

The JVM won't garbage collect the old generation until it's full, so it doesn't mean much to say that all of 2048M is used. Perhaps you could increase the ratio of the young generation so that not so many short-lived objects are promoted to the old-generation.

I use about 700M heap, 250M permgen and, since upgrading to a MacBook Pro with Snow Leopard, -XX:-ReduceInitialCardMarks.

0
Comment actions Permalink

Since I run with a 64-bit JVM, I added -XX:+UseCompressedOops as suggested here:
http://www.jetbrains.net/devnet/docs/DOC-192

0
Comment actions Permalink

I installed JDK 7 1.7.0 EA (#95) and when I use it to launch IDEA 9.0.2 it tells me that it requires 1.5 or 1.6.

How are you convincing IDEA to run on 1.7?


Randall Schulz

0
Comment actions Permalink

i didn't, that's what i meant by "oops". i run my scala app with jdk7

0
Comment actions Permalink

I see.

I was also curious about your performance observations. Are there any systematic studies of performance improvements in JDK 7?


RRS

0
Comment actions Permalink

this is what i found:
http://www.taranfx.com/java-7-whats-new-performance-benchmark-1-5-1-6-1-7
http://java.sun.com/javase/7/docs/technotes/guides/vm/performance-enhancements-7.html

it seems the java7 vm can eliminate a lot of array bounds checks and some object creation (something about "scalar replaceable objects", not sure what that is exactly, but it helps)

0

Please sign in to leave a comment.