springbootjvm参数
转载⾃:
各种参数
参数名称含义默认值说明
-Xms初始堆⼤⼩
物理内存的
1/64(<1GB)
默认(MinHeapFreeRatio参数可以调整)空余堆内存⼩于40%时,JVM就会增⼤堆
直到-Xmx的最⼤限制.
-Xmx最⼤堆⼤⼩物理内存的
1/4(<1GB)
默认(MaxHeapFreeRatio参数可以调整)空余堆内存⼤于70%时,JVM会减少堆直
到 -Xms的最⼩限制
-Xmn
年轻代⼤⼩
(1.4or lator)
注意:此处的⼤⼩是(eden+ 2 survivor space).与jmap -heap中显⽰的New
gen是不同的。 整个堆⼤⼩=年轻代⼤⼩ + 年⽼代⼤⼩ + 持久代⼤⼩. 增⼤年轻代
后,将会减⼩年⽼代⼤⼩.此值对系统性能影响较⼤,Sun官⽅推荐配置为整个堆的3/8
-XX:NewSize 设置年轻代⼤⼩(for 1.3/1.4)
-XX:MaxNewSize 年轻代最⼤值(for 1.3/1.4)
-XX:PermSize
设置持久代
(perm gen)初
始值
物理内存的
1/64
-XX:MaxPermSize 设置持久代最⼤
值
物理内存的
1/4
-Xss 每个线程的堆栈
⼤⼩
JDK5.0以后每个线程堆栈⼤⼩为1M,以前每个线程堆栈⼤⼩为256K.更具应⽤的线
程所需内存⼤⼩进⾏ 调整.在相同物理内存下,减⼩这个值能⽣成更多的线程.但是操
作系统对⼀个进程内的线程数还是有限制的,不能⽆限⽣成,经验值在3000~5000左
右 ⼀般⼩的应⽤, 如果栈不是很深, 应该是128k够⽤的 ⼤的应⽤建议使⽤
256k。这个选项对性能影响⽐较⼤,需要严格的测试。(校长) 和
threadstacksize选项解释很类似,官⽅⽂档似乎没有解释,在论坛中有这样⼀句
话:”” -Xss is translated in a VM flag named ThreadStackSize” ⼀般设置
这个值就可以了。
-XX:NewRatio
年轻代(包括
Eden和两个
Survivor区)与
年⽼代的⽐值
(除去持久代)
-XX:NewRatio=4表⽰年轻代与年⽼代所占⽐值为1:4,年轻代占整个堆栈的1/5
Xms=Xmx并且设置了Xmn的情况下,该参数不需要进⾏设置。
-XX:SurvivorRatio
Eden区与
Survivor区的⼤
⼩⽐值
设置为8,则两个Survivor区与⼀个Eden区的⽐值为2:8,⼀个Survivor区占整个年轻
代的1/10
-
XX:LargePageSizeInBytes 内存页的⼤⼩不
可设置过⼤,会
springboot推荐算法影响Perm的⼤
⼩
=128m
-
XX:+UseFastAccessorMethods 原始类型的快速
优化
-XX:+DisableExplicitGC
关闭
<()
这个参数需要严格的测试
-XX:MaxTenuringThreshold垃圾最⼤年龄如果设置为0的话,则年轻代对象不经过Survivor区,直接进⼊年⽼代. 对于年⽼代⽐较多的应⽤,可以提⾼效率.如果将此值设置为⼀个较⼤值,则年轻代对象会在Survivor区进⾏多次复制,这样可以增加对象再年轻代的存活 时间,增加在年轻代即被回收的概率 该参数只有在串⾏GC时才有效.
-XX:+AggressiveOpts加快编译
-XX:+UseBiasedLocking 锁机制的性能改
善
-Xnoclassgc禁⽤垃圾回收
-
XX:SoftRefLRUPolicyMSPerMB 每兆堆空闲空间
中
SoftReference
的存活时间
1s
softly reachable objects will remain alive for some amount of time after
the last time they were referenced. The default value is one second of
lifetime per free megabyte in the heap
-XX:PretenureSizeThreshold 对象超过多⼤是
直接在旧⽣代分
配
单位字节 新⽣代采⽤Parallel Scavenge GC时⽆效 另⼀种直接在旧⽣代分配的情
况是⼤的数组对象,且数组中⽆外部引⽤对象.
-
XX:TLABWasteTargetPercent TLAB占eden区
的百分⽐
1%
-XX:+CollectGen0First FullGC时是否先
YGC
false
参数名称含义默认值说明
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论