jvm参数配置
1 | -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=256M -Xms256m -Xmx256m |
文章看下来上面这段配置的意思很简单,设置元空间的初始值和最大值,设置堆空间的初始值和最大值。
为什么MetaspaceSize要设置为128M?为什么堆内存初始值Xms设置为256M而不是512M?
按照Java官方的指导:
Java堆大小设置,Xms 和 Xmx设置为老年代存活对象的3-4倍,即Full GC之后的老年代内存占用的3-4倍。
②、永久代 PermSize和MaxPermSize(元空间)设置为老年代存活对象的1.2-1.5倍。
③、年轻代Xmn的设置为老年代存活对象的1-1.5倍。
④、老年代的内存大小设置为老年代存活对象的2-3倍。
使用一个模仿生成环境进行测试运行一段时间后,获取JVM参数数据。然后再进行设置实际的JVM参数;如下用jstat工具查看jvm的情况:
1 | jstat -gc 12345 |
OU表示老年代所占用的内存为 46189.3 K(大约45M);那么jvm相应的配置参数应该做如下修改:
1 | -XX:MetaspaceSize=64M -XX:MaxMetaspaceSize=64M -Xms180m -Xmx180m |
------ 本文结束感谢您的阅读 ------
请我一杯咖啡吧!
微信打赏