一、配置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:设定最大内存的永久保存区域 |