一、配置JVM
//Windows下 Tomcat/bin/catalina.bat 新增
set JAVA_OPTS="-server -Xms1024M -Xmx1024M -XX:PermSize=128M -XX:MaxPermSize=512M -Xss512KB"
//Linux下 Tomcat/bin/catalina.sh 新增
JAVA_OPTS="-server -Xms1024M -Xmx1024M -XX:PermSize=128M -XX:MaxPermSize=512M -Xss512KB"
数值后面的单位"M"代表MB,"K"则标识KB
二、JAVA_OPTS参数简述
JVM分堆内存和非堆内存
1、堆内存分配
堆内存分配不足,Tomcat启动时或运行中会报内存泄露(不足),java.lang.OutOfMemoryError :Java heap space
-server:一定要作为第一个参数,在多个CPU时性能佳
-Xms:Heap初始值,使用的最小内存,cpu性能高时此值应设的大一些
-Xmx:java heap最大值,使用的最大内存
JVM最大分配的堆内存由-Xmx指定,默认是物理内存的1/4,一般设置-Xms、-Xmx 相等以避免在每次垃圾回收(GC)后调整堆的大小。
-Xss:设置每个线程的堆栈(Stack)大小
-Xss 1024 这使得每增加一个线程(thread)就会立即消耗1M(1024kb)内存,最佳值是128K,默认值是512k。
2、非堆内存分配
-XX:PermSize: JVM初始分配的非堆内存
-XX:MaxPermSize:设定最大内存的永久保存区域