This discussion is archived
2 Replies Latest reply: Jun 10, 2012 3:43 AM by jmart RSS

UseParallelGC not working in Java 7 + JNLP

jmart Explorer
Currently Being Moderated
Hello,

I wrote a program in Java 1.6 and JavaFX 1.3 that used UseParallelGC. I could tell that it was using this GC mode because VisualVM would show constant memory usage. Other GC modes would show memory go up and back down again. The only other one that came close to having near constant memory usage was UseConcMarkSweepGC, but even that one had small hills. The program was a video game so I was looking for near 0 GC delay.

Fast fwd to the present. I rewrote my program in Java 7 and JavaFX 2.x. But now the UseParallelGC VM option does not do anything noticeable, looks like it is using the default GC mode. When I set the GC mode to UseConcMarkSweepGC then the VisualVM output looks like it did in the 1.6 version (small hills). So I can tell that I was setting the JVM arguments correctly.

Here is the JNLP attribute for VM arguments.

- for UseParallelGC....
java-vm-args="-ea -XX:+UseParallelGC -Dprism.dirtyopts=false "

- for UseConcMarkSweepGC....
java-vm-args="-ea -XX:+UseConcMarkSweepGC -Dprism.dirtyopts=false "

In Java 7 is UseParallelGC still supported and if not is there an alternative?

Thank you in advance for any help you may provide.
jose
  • 1. Re: UseParallelGC not working in Java 7 + JNLP
    ++sja Explorer
    Currently Being Moderated
    UseParallelGC might have no effect if it happens to be the default in your computer. Java looks at the computer and uses what it thinks of as reasonable defaults for things. To see default switches in your computer try this:

    java -XX:+PrintCommandLineFlags -version

    You could also try the new G1 collector, it should be good for some types of applications. Google for "Java 7" G1 or java garbage first.
  • 2. Re: UseParallelGC not working in Java 7 + JNLP
    jmart Explorer
    Currently Being Moderated
    sja, thank you for your response!

    It looks like the new G1 collector is working good but I cannot tell if the Java WebStart accepts it because it is not listed as an acceptable value to the jvm-args attribute... http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax.html#resources

    Can someone confirm if -XX:+UseG1GC is settable via the JNLP file?

    thanks
    jose

Legend

  • Correct Answers - 10 points
  • Helpful Answers - 5 points