linux下tomcat设置jvm的参数
tomcat启动执行步骤:
tomcat/bin/startup.sh,
startup.sh执行的是catalina.sh
jvm参数设置
要在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"