JVM启动参数可以用来控制JVM的行为和性能,下面详解常用的9大JVM启动参数@mikechen
1.指定JVM堆的初始大小
示例:
-Xms512m
JVM堆的初始化大小为:512M,如果没有设定,默认为物理内存的1/64。
2.指定JVM堆的最大大小
示例:
-Xmx1024m
上面设置堆的最大大小为:1024M,如果没有设定,默认为物理内存的1/4。
3.指定年轻代的大小
示例:
-Xmn256M
上面设置为年轻代大小为:256M。
4.指定每个线程的堆栈大小
示例:
-Xss256k
上面设置线程栈大小为:256K,如果没有设定,默认为512K。
5.指定元空间的初始大小
示例:
-XX:MetaspaceSize20M
设定元空间的初始大小为:20MB。
6.指定年轻代中Eden区和Survivor区的比例
示例:
-XX:SurvivorRatio=4
这样Survivor(2个)与Eden区的大小比值 2:4,默认为8:1。
7.开启CMS垃圾回收器
示例:
-XX:+UseConcMarkSweepGC
8.开启G1垃圾回收器
示例:
-XX:+UseG1GC
9.打印GC日志
示例:
-XX:+PrintGC
在每次GC时打印详细的GC日志。
以上是一些常用的JVM启动参数,更多JVM内容请查看:JVM(Java虚拟机)从0到1全部合集
mikechen睿哥
mikechen睿哥,十余年BAT架构经验,资深技术专家,就职于阿里、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》