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
- CodeCacheSize
http://stackoverflow.com/questions/7513185/what-is-reservedcodecachesize
Show archive.org snapshot
alocação de memória para compilação em tempo de execução. O valor máximo varia de acordo com a arquitetura da máquina, sendo que em um servidor de 64bits o valor máximo é de 2048mb
-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"
Posted by Victor Carvalho to ZeroGlosa (2013-10-21 19:02)