JVM参数经常用于JVM性能调优,所以掌握好JVM参数很重要,下面我详解常用的JVM参数@mikechen
1.指定JVM的初始内存和最大内存
参数:
-Xms和-Xmx
示例:
-Xms512m -Xmx2g
指定JVM的初始内存为512MB,最大内存为2GB。
2.设置新生代的内存大小
参数:
-Xmn
示例:
-Xmn2g
Xmn2g:设置年轻代大小为2G。
3.指定持久代的初始大小和最大大小
参数:
-XX:PermSize和-XX:MaxPermSize
示例:
-XX:PermSize=128m -XX:MaxPermSize=256m
指定持久代的初始大小为128MB,最大大小为256MB。
4.启用G1垃圾收集器
参数:
-XX:+UseG1GC
示例:
java -XX:+UseG1GC Main
启用G1垃圾收集器。
5.启用CMS垃圾收集器
参数:
-XX:+UseConcMarkSweepGC
UseConcMarkSweepGC,表示启用CMS垃圾收集器。
6.打印垃圾收集器的详细信息和时间戳
参数:
-XX:+PrintGCDetails
参数:
-XX:+PrintGCDetails -XX:+PrintGCDateStamps
打印垃圾收集器的详细信息和时间戳。
7.调整新生代和老年代的比例
参数:
-XX:NewRatio=2
NewRatio=2表示新生代和老年代的比例为1:2。
8.调整Eden区和Survivor区的比例
参数:
-XX:SurvivorRatio=8
SurvivorRatio=8表示Eden区和Survivor区的比例为8:1。
9.在内存溢出错误发生时自动生成堆转储文件
参数:
-XX:+HeapDumpOnOutOfMemoryError
内存溢出错误发生时自动生成堆转储文件,以便后续分析。
以上就是常用的JVM参数详解,更多JVM请查看:JVM(Java虚拟机)从0到1全部合集
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》