You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafodion.apache.org by "Selvaganesan Govindarajan (JIRA)" <ji...@apache.org> on 2017/03/29 23:52:41 UTC

[jira] [Created] (TRAFODION-2566) Reduce the virtual memory allocated in Trafodion processes with JDK1.8

Selvaganesan Govindarajan created TRAFODION-2566:
----------------------------------------------------

             Summary: Reduce the virtual memory allocated in Trafodion processes with JDK1.8
                 Key: TRAFODION-2566
                 URL: https://issues.apache.org/jira/browse/TRAFODION-2566
             Project: Apache Trafodion
          Issue Type: Improvement
          Components: sql-exe
    Affects Versions: 2.1-incubating
            Reporter: Selvaganesan Govindarajan
            Assignee: Selvaganesan Govindarajan


It is observed that JDK1.8 uses native memory to store class metadata in lie of permanent generation in earlier releases. By default, JVM mmaps 1 GB of virtual address space to the process. Because Trafodion SQL processes are not generic JVM processes, it is viable to reduce the default JVM mmap for the class metadata

In JVM1.8

A simple hello world java program shows the following:

Heap Configuration when java invoked as 
java -Xmx512m Sample
   MinHeapFreeRatio         = 0
   MaxHeapFreeRatio         = 100
   MaxHeapSize              = 536870912 (512.0MB)
   NewSize                  = 178782208 (170.5MB)
   MaxNewSize               = 178782208 (170.5MB)
   OldSize                  = 358088704 (341.5MB)
   NewRatio                 = 2
   SurvivorRatio            = 8
   MetaspaceSize            = 21807104 (20.796875MB)
   CompressedClassSpaceSize = 1073741824 (1024.0MB)
   MaxMetaspaceSize         = 17592186044415 MB
   G1HeapRegionSize         = 0 (0.0MB)

Heap Configuration when Java is invoked as
java -XX:MaxMetaspaceSize=256m -XX:CompressedClassSpaceSize=256m -Xmx=512m Sample

   MinHeapFreeRatio         = 0
   MaxHeapFreeRatio         = 100
   MaxHeapSize              = 536870912 (512.0MB)
   NewSize                  = 178782208 (170.5MB)
   MaxNewSize               = 178782208 (170.5MB)
   OldSize                  = 358088704 (341.5MB)
   NewRatio                 = 2
   SurvivorRatio            = 8
   MetaspaceSize            = 21807104 (20.796875MB)
   CompressedClassSpaceSize = 268435456 (256.0MB)
   MaxMetaspaceSize         = 268435456 (256.0MB)
   G1HeapRegionSize         = 0 (0.0MB)

With JDK 1.7

$JAVA_HOME/bin/java -Xmx512m Sample
Heap Configuration:
   MinHeapFreeRatio = 0
   MaxHeapFreeRatio = 100
   MaxHeapSize      = 536870912 (512.0MB)
   NewSize          = 1310720 (1.25MB)
   MaxNewSize       = 17592186044415 MB
   OldSize          = 5439488 (5.1875MB)
   NewRatio         = 2
   SurvivorRatio    = 8
   PermSize         = 21757952 (20.75MB)
   MaxPermSize      = 85983232 (82.0MB)
   G1HeapRegionSize = 0 (0.0MB)

Permanent Generation in 1.7 is equivalent to MaxMetaDataSpace. I am planning to reduce both MaxMetaspaceSize and CompressedClassSpace Size to 128MB.




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)