【JVM】参数设置列表

本文详细介绍了JVM参数的设置,包括查看参数、内存设置、打印信息、阈值设定、空间担保、执行模式选择、垃圾回收器设定、自适应调节策略及G1回收器的特定参数配置。通过这些设置,可以优化Java应用的性能和内存管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、参数查看

参数功能
-XX:+PrintFlagsInitial查看所有的参数默认值
-XX:+PrintFlagsFinal查看所有参数的最终值(可查看修改过后的值)

2、内存设置

参数功能
-Xms600m设置堆空间初始值为600m(默认为本机物理内存的1/64)
-Xmx600m设置堆空间最大值为600m(默认为本机物理内存的1/4)
-Xmn600m直接设置新生代的大小。优先于参数-XX:NewRatio(初始值和最大值)
-XX:NewRatio=2设置堆空间中年轻代与老年代的比例为 1:2(默认也是1:2)
-XX:SurvivorRatio=8设置年轻代中Eden与s0、s1区的比例为8:1:1
-XX:StringTableSize=2000设置字符串常量池长度为1000(jdk1.8开始要求设置的值最小为1009)

3、关于打印信息

参数功能
-XX:+PrintGCDetails打印详细的GC处理日志
-XX:+PrintStringTableStatistics打印打印字符串常量池日志
-XX:+HeapDumpOnOutOfMemoryError每当出现OOM时都会生成堆空间的dump文件
-XX:+PrintCommandLineFlags产看JVM默认的垃圾回收器
-Xloggc:./logs/gc.log日志文件的输出路径(在需要在项目路径下新建文件夹logs)

4、阈值设定

参数功能
-XX:MaxTenuringThreshold=15设置新生代阈值为15(默认15)

5、空间担保

参数功能
-XX:(+/-)HandlePromotionFailure是否设置空间担保(默认开启)

6、设置程序执行模式

参数功能
-Xint完全采用解释器执行程序
-Xcomp完全采用编译器执行程序
-Xmixed采用混合模式(解释器+编译器)执行

7、设置使用的垃圾回收器

参数功能垃圾回收器特点
-XX:+UserSerialGC新生代使用Serial GC; 老年代使用Serial Old GC串行垃圾回收器
-XX:+UserParNewGC新生代使用ParNewGC并行垃圾回收器
-XX:+UserConcMarkSweepGC老年代使用CMS GC(同时年轻代出发使用ParNewGC)并发垃圾回收器
-XX:ParallelGCThreads设制GC线程数量,默认开启和CPU数量或者与CPU核心数量相同的,以达到回收线程并行的目的
-XX:+UseParallelGC年轻代使用Parallel GC(JDK1.8默认使用,且配合Parallel Old GC使用,开启此参数后老年代自动使用Parallel Old GC)并行垃圾回收器
-XX:+UseParallelOldGC老年代使用ParallelOld GC(和Parallel GC互相激活)并行回收器
-XX:+UseG1GC使用G1垃圾收集器

8、设置和垃圾收集器相关的参数

参数功能备注
-XX:MaxGCPauseMillis设置垃圾收集器最大停顿时间;单位毫秒(此参数慎用)此参数与下面的比例参数有矛盾,停顿时间越短,总的垃圾收集时间就越长。
-XX:GCTimeRatio设置垃圾收集器的垃圾收集时间占总时间的比例<=(1/N+1)N的取值范围(0,99),默认99

9、开启自适应调节策略

参数功能备注
-XX:+UseAdaptiveSizePolicy开启自适应调节策略(默认开启)

➢在这种模式下,年轻代的大小、Eden和Survivor的比例、 晋升老年代的对象年龄等参数会被自动调整,已达到在堆大小、吞吐量和停顿时间之间的平衡点。
➢在手动调优比较困难的场合,可以直接使用这种自适应的方式,仅指定虚拟机的最大堆、目标的吞吐量(GCTimeRatio)和停顿时间(MaxGCPauseMills),让虚拟机自己完成调优工作。

10、G1回收器的参数设置

参数功能
-XX:+UseG1GC手动指定使用G1收集器执行内存回收任务
-XX:G1HeapRegionSize设置每个Region的大小。值是2的幂,范围是1MB到32MB之间,目标是根据最小的Java堆大小划分出约2048个区域。默认是堆内存的1 /2000.
-XX:MaxGCPauseMillis设置期望达到的最大GC停顿时间指标(JVM会尽力实现,但不保证达到)。默认值是200ms;
-XX: ParallelGCThread设置STW时GC线程数的值。最多设置为8
-XX: ConcGCThreads设置并发标记的线程数。将n设置为并行垃圾回收线程数(ParallelGCThreads)的1/4左右。
-XX:InitiatingHeapOccupancyPercent设置触发并发GC周期的Java堆占用率阈值。超过此值,就触发GC。默认值是45。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值