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)