Tomcat 启动 JVM参数设置

Tomcat 启动 JVM参数设置

设置参数

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

startup.sh执行的是catalina.sh,所以要在catalina.sh中进行设置

 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"

#示例2
#建议不要写一块,最后是引用一个加一个参数,清晰有调理。

# Register custom URL handlers
# Do this here so custom URL handles (specifically 'war:...') can be used in the security policy
JAVA_OPTS="$JAVA_OPTS -Djava.protocol.handler.pkgs=org.apache.catalina.webresources"
# fixed log4j
JAVA_OPTS="$JAVA_OPTS -Dlog4j2.formatMsgNoLookups=true"

检验是否生效

启动tomcat

./startup.sh

查看JVM参数

jps -v
jps -v |grep xxx

image

大T笔记所有文章均为本人原创,转载请您注明来源,并留下原文链接地址,是对我的尊重,也是对知识的尊重,谢谢!
大T笔记 » Tomcat 启动 JVM参数设置

大T笔记-我的个人互联网创业和自由职业之路

关于我 我的百宝箱
大T笔记-专注个人互联网创业和自由职业