JVM参数
-Xms256m
为jvm启动时分配的内存
-Xmx256m
为jvm运行过程中分配的最大内存,建议和Xms保持一致
-Xmn128m
设置年轻代大小为128M
此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。
-Xss256k
为jvm启动的每个线程分配的内存大小
-XX:NewSize 和-XX:MaxNewSize
用于设置年轻代的大小,建议设为整个堆大小的1/3或者1/4,两个值设为一样大。
-XX:PermSize=1024M 和 -XX:MaxPermSize=1024M
JVM初始分配的非堆内存, 不会被回收, 建议与maxPermSize相同
-XX:SurvivorRatio=4
年轻代中Eden区与两个Survivor区的比值。注意Survivor区有两个。
设置为4,则两个Survivor区与一个Eden区的比值为2:4,一个Survivor区占整个年轻代的1/6
-XX:NewRatio=4
设置年轻代(EC+S0C+S1C)和年老代(OC)的比值。如:为4,表示年轻代与年老代比值为1:4,年轻代占整个年轻代年老代和的1/5
-XX:InitialTenuringThreshol 和-XX:MaxTenuringThreshold
用于设置晋升到老年代的对象年龄的最小值和最大值,每个对象在坚持过一次Minor GC之后,年龄就加1。
-XX:+PrintGC 输出GC日志
-XX:+PrintGCDetails 输出GC的详细日志
-XX:+PrintGCTimeStamps 输出GC的时间戳(以基准时间的形式)
-XX:+PrintGCDateStamps 输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800)
-Xloggc:../logs/gc.log 日志文件的输出路径
-XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles=5
-XX:GCLogFileSize=20M
JVM的一个日志文件达到了20M以后,就会写入另一个新的文件,最多会有5个日志文件,他们的名字分别是:gc.log.0、gc.log.1 等
-XX:+PrintHeapAtGC 在进行GC的前后打印出堆的信息
-XX:+PrintTenuringDistribution
这个参数用于显示每次Minor GC时Survivor区中各个年龄段的对象的大小。
2020-06-29T03:45:25.512+0800: 76.642: [GC pause (G1 Evacuation Pause) (young)
Desired survivor size 402653184 bytes, new threshold 2 (max 15)
- age 1: 169351248 bytes, 169351248 total
- age 2: 331023392 bytes, 500374640 total
- age 3: 64201192 bytes, 564575832 total
, 1.2957512 secs]
-XX:MaxTenuringThreshold
用于调整对象晋升老年代的所需经历的GC次数,默认15次,即在年轻代的对象经过了指定次数的 GC 后,将在下次 GC 时进入老年代。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix