JVM 常用参数
-Xmx/-Xms
最大和初始堆大小。最大默认为物理内存的1/4,初始默认为物理内存的1/64。
-Xss
等价于-XX:ThresholdStackSize。用于设置单个栈的大小,系统默认值是0,不代表栈大小为0。而是根据操作系统的不同,有不同的值。比如64位的Linux系统是1024K,而Windows系统依赖于虚拟内存。
-Xmn
新生代大小,一般不调。
-XX:MetaspaceSize
设置元空间大小。
-XX:+PrintGCDetails
输出GC收集信息,包含GC和Full GC信息。
-XX:SurvivorRatio
新生代中,Eden区和两个Survivor区的比例,默认是8:1:1。通过-XX:SurvivorRatio=4改成4:1:1
-XX:NewRatio
老生代和新年代的比列,默认是2,即老年代占2,新生代占1。如果改成-XX:NewRatio=4,则老年代占4,新生代占1。
-XX:MaxTenuringThreshold
新生代设置进入老年代的时间,默认是新生代逃过15次GC后,进入老年代。如果改成0,那么对象不会在新生代分配,直接进入老年代。
本文详细介绍了JVM的常用参数,包括-Xmx/-Xms设定堆内存大小,-Xss设置栈内存,-Xmn定义新生代大小,-XX:MetaspaceSize设置元空间大小,以及GC日志输出和内存比例调整等。通过这些参数的合理配置,可以有效提升Java应用的性能和稳定性。

1039

被折叠的 条评论
为什么被折叠?



