Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-6200079

Apply -XX:+DisableExplicitGC to new JVM versions by default

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Not an Issue
    • Icon: P3 P3
    • 5.0
    • 5.0
    • hotspot
    • None
    • gc
    • x86
    • solaris_9

      It is legal Java practice to initiate a Full GC by calling System.gc(). In old days when memory was limited and heap sizes of Java apps were rather small this was common practice which did not cause harm because full GC runs only took a short time to execute.
      With ever larger Java server applications with many threads and heap sizes in the GB range such calls can easily bring a JVM to a virtual halt. Frequently System.gc() calls are introduced by third party libraries or products and the application developers are not aware of them. In these cases, the problem can cause serious performance degradation and project desperation.
      The problem can be easily fixed by the -XX:+DisableExplicitGC JVM switch. As most developers don't know this, it would be very useful to apply this switch by default. On the other hand, this should cause no problems to applications which have been making use of System.gc() calls so far. Strictly speaking these calls serve no obvious purpose.

            pbk Peter Kessler
            amuellersunw Andreas Mueller (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: