JVM配置
基本概念
- 通常情况下的JVM配置是指内存分配
- 在大部分情况下,特别是生产环境下 ,JVM默认分配的内存无法满足需求,所以需要手动修改Tomcat启动时的内存参数分配
JVM内存模型

JVM内存配置
set JAVA_OPTS=-server -Xms2048m -Xmx2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:SurvivorRatio=8
JAVA_OPTS="-server -Xms2048m -Xmx2048m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -XX:SurvivorRatio=8"
| 参数 | 含义 |
|---|
| -Xms | 堆内存的初始大小 |
| -Xmx | 堆内存的最大大小 |
| -Xmn | 新生代的内存大小,推荐为堆内存空间的 3 8 \cfrac{3}{8} 83 |
| -XX:MetaspaceSize | 元空间内存的初始大小 |
| -XX:MaxMetaspaceSize | 元空间内存最大大小 |
| -XX:InitialCodeCacheSize -XX:ReservedCodeCacheSize | 代码缓存区大小 |
| -XX:NewRation | 设置新生代和老年代的大小比例 这样设置新生代的大小会随着整个堆大小动态扩展 比如 -XX:NewRation=3 设置新生代和老年代的比例为 1 : 3 1:3 1:3,其中新生代占 1 4 \cfrac{1}{4} 41 ,老年代占 3 4 \cfrac{3}{4} 43 |
| -XX:SurvivorRation | 设置伊甸园区Eden和幸存区的大小比例 比如 -XX:SurvivorRation=8 表示伊甸园区Eden和幸存区的比例是 8 : 1 8:1 8:1 伊甸园区Eden占新生代大小的 8 10 \cfrac{8}{10} 108 ,幸存区From和幸存区To各占新生代的 1 10 \cfrac{1}{10} 101 . 这两个幸存区的大小是一样的 |
- 建议内存的初始大小和最大大小设置为一样的,这样JVM在运行时就不会重新开辟内存空间,可以提高性能
- 配置完成后,重新启动Tomcat,使配置生效