Configuração de memória do java no tomcat7 para rodar aplicações grails

Posted . Visible to the public.

Segue um exemplo de configuração para uma máquina com disponibilidade de 4gb de ram:

  • HeapSize
    defina o maior valor possivel, de acordo com a disponibilidade de memória da máquina. O max e o InitialHeapSize devem ter o mesmo valor para minimizar o garbage collector
-XX:InitialHeapSize=4096m 
-XX:MaxHeapSize=4096m  
  • NewSize
    alocacao de memoria para novos objetos, que deve ter valor máximo igual a 1/4 do MaxHeapSize. Quanto maior este valor mais demorado será o garbage collector, por isso deve-se balancear bem o valor adotado visto que a alocação de memória é feita de forma paralela enquanto que o garbage collector não é.
-XX:NewSize=768m 
-XX:MaxNewSize= 768m 
-XX:InitialCodeCacheSize=128m 
-XX:ReservedCodeCacheSize=512m 
  • Alem dos parâmetros supracitados há alguns outros que não serão detalhados aqui. Segue um exemplo completo de configuração de um servidor com disponibilidade de 4gb de memória pro tomcat:
    JAVA_OPTS="\
    -server \
    -XX:InitialHeapSize=4096m \
    -XX:MaxHeapSize=4096m \
    -XX:NewSize=768m \
    -XX:MaxNewSize=768m \
    -XX:PermSize=512m \
    -XX:MaxPermSize=1024m \
    -XX:InitialCodeCacheSize=128m \
    -XX:ReservedCodeCacheSize=512m \
    -XX:MaxJavaStackTraceDepth=512 \
    -XX:ThreadStackSize=1024 \
    
    -XX:+UseCodeCacheFlushing \
    -XX:+UseFastAccessorMethods \
    -XX:+OptimizeStringConcat \
    -XX:+UseStringCache \
    -XX:+AggressiveOpts \
    -XX:+UseParNewGC \
    -XX:+UseConcMarkSweepGC \
    -XX:+CMSConcurrentMTEnabled \
    -XX:+CMSIncrementalMode \
    -XX:+CMSIncrementalPacing \
    
    -XX:+CMSClassUnloadingEnabled \
    -XX:+CMSPermGenSweepingEnabled \
    
    -XX:CMSInitiatingOccupancyFraction=60 \
    -XX:CMSIncrementalDutyCycleMin=0 \
    -XX:CMSIncrementalDutyCycle=10 \
    -XX:CompileThreshold=1000 \
    -XX:MaxTenuringThreshold=0 \
    -XX:SurvivorRatio=256 \
    -XX:+UseTLAB \
    -Dfile.encoding=UTF-8"
Victor Carvalho
Last edit
Posted by Victor Carvalho to ZeroGlosa (2013-10-21 19:02)