侧边栏壁纸
博主头像
波哥

大龄程序猿&自由职业者&副业达人
爱好:敲代码、搞副业
12+年开发经验,热衷自动化网络推广!

  • 累计撰写 1,810 篇文章
  • 累计创建 77 个标签
  • 累计收到 13 条评论

目 录CONTENT

文章目录

Tomcat 启动 JVM参数设置

波哥
2022-01-05 / 0 评论 / 0 点赞 / 959 阅读 / 0 字

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

0

评论区