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 时进入老年代。

posted @   chdchd  阅读(149)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示