linux下tomcat设置jvm的参数

tomcat启动执行的是
tomcat/bin/startup.sh,
startup.sh执行的是catalina.sh

所以要在catalina.sh中进行设置

在Tomcat服务器上设置JVM参数

  set CATALINA_OPTS=-Xmx512m -Xms512m -Xmn64m -Xss2m  或者

  set JAVA_OPTS=-Xmx512m -Xms512m -Xmn64m -Xss2m

  设置CATALINA_OPTS 和  JAVA_OPTS都是一个道理,在启动tomcat的时候设置参数。

  两者区别是JAVA_OPTS在tomcat停止的时候也会执行这个命令。

VM内存分配设置的参数有四个

-Xmx Java Heap最大值,默认值为物理内存的1/4;

-Xms Java Heap初始值,Server端JVM最好将-Xms和-Xmx设为相同值,开发测试机JVM可以保留默认值;

-Xmn Java Heap Young区大小,不熟悉最好保留默认值;

-Xss 每个线程的Stack大小,不熟悉最好保留默认值;

-XX:PermSize:设定内存的永久保存区域;

-XX:MaxPermSize:设定最大内存的永久保存区域;

-XX:PermSize:设定内存的永久保存区域;

-XX:NewSize:设置JVM堆的’新生代’的默认大小;

-XX:MaxNewSize:设置JVM堆的’新生代’的最大大小;


CATALINA_OPTS="$CATALINA_OPTS -server -Xms12g -Xmx12g -XX:MaxNewSize=2g -XX:+UseBiasedLocking -XX:PermSize=64M -XX:MaxPermSize=256M -XX:+UseConcMarkSweepGC -XX:+UseParNewGC  -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:+UseFastAccessorMethods -Djava.awt.headless=true -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -Xloggc:/usr/local/tomcat-ixin-p/logs/gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/usr/local/tomcat-ixin-p/logs"

你可能感兴趣的:(javaweb_实践问题汇总,tomcat,jvm)