Wan Kun created GRIFFIN-295:
-------------------------------

             Summary: Limit the memory used by test case
                 Key: GRIFFIN-295
                 URL: https://issues.apache.org/jira/browse/GRIFFIN-295
             Project: Griffin
          Issue Type: Improvement
            Reporter: Wan Kun
         Attachments: 1.png, 2.png, 3.png, 4.png

The container memory size is 3G in travis, but out test cases always uses more 
than 3G memory, so `Cannot allocate memory` will be thrown.
 
{code:java}
Java HotSpot(TM) 64-Bit Server VM warning: INFO: 
os::commit_memory(0x00000000fe980000, 23592960, 0) failed; error='Cannot 
allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 23592960 bytes for committing 
reserved memory.
# An error report file with more information is saved as:
# /home/travis/build/apache/griffin/measure/hs_err_pid11948.log
# [ timer expired, abort... ]
{code}
 
There are two kind of programs in our tests, the maven main program and the 
tests run by maven-surefire-plugin and scalatest-maven-plugin.
If the memory is not limited, test cases will occupy more and more memory 
especially spark jobs.
 
Each spark job has a HeapMemoryAllocator object for managing memory,which 
stores many internal objects in memory to speed up calculation.
But even if we stop the spark context, it will not release memory, which is 
strange. so we need to limit the momery used by test cases.
 
We can limit the maven memory used by set export MAVEN_OPTS=" -Xmx1024m 
-XX:ReservedCodeCacheSize=128m" , and we can limit the memory used by spark job 
tests by configuring the maven-surefire-plugin and scalatest-maven-plugin.
 
For example:
Before we limit the memory used, maven program occupy 1.5G memory and spark job 
occupy 1.8G memory.
!1.png!

!2.png!

 
After we limit the memory used, maven program occupy 1G memory and spark job 
occupy 1G memory.
 
!3.png!
 
!4.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to