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

Posted Over 10 years ago. 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
Over 10 years ago
Posted by Victor Carvalho to ZeroGlosa (2013-10-21 19:02)