添加文件tomcat/bin/ setenv.sh ,如果文件不存在
在tomcat/bin/catalina.sh最后一行添加自定义配置能起到相同的效果,
但是单独配置在setenv.sh能更好的管理自己的配置
赋予执行权限
[root@was01 bin]# echo '' > setenv.sh
[root@was01 bin]# chmod +x setenv.sh
修改setenv.sh
export JAVA_HOME=/usr/java/jdk6
export JRE_HOME=/usr/java/jdk6/jre
export JAVA_OPTS="$JAVA_OPTS \
-server \
-Xms1024m \
-Xmx1024m \
-XX:PermSize=64M \
-XX:MaxPermSize=128m \
-XX:+HeapDumpOnOutOfMemoryError \
-XX:HeapDumpPath=D:\study\log_hprof\gc.hprof \
-XX:+PrintGCDetails \
-Xloggc:/opt/tomcat/log/gc.log \
-Dvar1=123456 \
-Dvar2=123456 \
-Dvar3path=/usr/local/path \
-Dvar4encoding=GBK"
在tomcat启动前会先执行setenv.sh
,如果有多个tomcat,不同版本的tomcat对JDK版本要求不同,可以通过这里指定不同的JDK路径。
JVM的参数配置分别是 服务器模式 和客户端模式
比如垃圾回收机制,客户端模式下,要求的是用户体验流程,无明显滞留感(就是没有卡的现象)
而服务端,要求的是吞吐量,就是单位时间内执行的代码要求越多越好,
Java的垃圾回收机制能够很好的解决内存浪费的问题(针对堆区内存,非堆区内存不作处理)
setenv.bat
set JAVA_HOME=C:\Java\jdk1.6
set JRE_HOME=%JAVA_HOME%/jre
set "JAVA_OPTS=%JAVA_OPTS% -server -Xms1024m -Xmx2048m -XX:PermSize=600M -XX:MaxPermSize=600m"
set "JAVA_OPTS=%JAVA_OPTS% -Dvar1=123456"
JVM配置说明
https://blog.csdn.net/qq_26264237/article/details/103222520