Tomcat7 优化

  1. Tomcat7 默认使用内存

    Tomcat默认能够使用的内存为128MB

  2. Tomcat7内存设置(catalina.bat)

    JAVA_OPTS='-Xms256m -Xmx512m'  

    JAVA_OPTS='-Xms【初始化内存大小】 -Xmx【能够使用的最大内存】'   -- (catalina.bat)

  3. 设置Tomcat7优化(catalina.bat)

    JAVA_OPTS= -server -Xms2000M -Xmx2000M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:PermSize=64M -XX:MaxPermSize=300M -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=31 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC  -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m  -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -Djava.awt.headless=true

  4. 堆内存分配

    JVM初始分配的堆内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的堆内存由-Xmx指定,默认是物理内存的1/4。默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制.因此服务器一般设置-Xms、-Xmx 相等以避免在每次GC 后调整堆的大小.

    注:如果-Xmx 不指定或者指定偏小,应用可能会导致java.lang.OutOfMemory错误,此错误来自JVM,不是Throwable的,无法用try...catch捕捉;

  5. 非堆内存分配

    JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。

    XX:MaxPermSize设置过小会导致java.lang.OutOfMemoryError: PermGen space 就是内存益出。

你可能感兴趣的:(Tomcat7 优化)