tomcat虚拟机配置

配置文件:


  • windows:tomcat/bin/catalina.bat
  • linux:tomcat/bin/catalina.sh

示例:


JAVA_OPTS="-Xms1024m -Xmx2048m -Xss1024K -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=1024m"

JAVA_OPTS="-Xms1024m -Xmx1536m -Xss1024K -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/root/heapdump"


注解:


-Xms:内存堆栈最小值(即为jvm启动时分配的内存,比如-Xms200m,表示分配200M)
-Xmx:内存堆栈最大值(即为jvm启动时分配的内存,比如-Xms500m,表示jvm进程最多只能够占用500M内存)
-Xss:为jvm启动的每个线程分配的内存大小,默认JDK1.4中是256K,JDK1.5+中是1M
-XX:MetaspaceSize:这个参数是初始化的Metaspace大小,该值越大触发Metaspace GC的时机就越晚
-XX:MaxMetaspaceSize:这个参数用于限制Metaspace增长的上限,防止因为某些情况导致Metaspace无限的使用本地内存,影响到其他程序
-XX:+HeapDumpOnOutOfMemoryError:当出现HeapDumpOnOutOfMemoryError错误时,导出内存溢出的堆信息(hprof文件)
-XX:HeapDumpPath=/root/heapdump:
生成DUMP文件的路径,也可以指定文件名称,例如:-XX:HeapDumpPath=${目录}/java_heapdump.hprof。如果不指定文件名,默认为:java_


详情参考:


https://blog.csdn.net/RickyIT/article/details/53895060
https://blog.csdn.net/u011381576/article/details/79635867


建议:


  • MetaspaceSize和MaxMetaspaceSize设置一样大
  • 具体设置多大,建议稳定运行一段时间后通过jstat -gc pid确认且这个值大一些,对于大部分项目256m即可
posted @ 2018-10-09 18:10  Freelancy  阅读(1106)  评论(0编辑  收藏  举报