入门JVM常见内存配置参数

本文介绍了JVM的三种参数类型:标准参数(-)、非标准参数(-X)和非Stable参数(-XX),强调了它们在不同JVM实现中的兼容性和使用注意事项。布尔型、数字型和字符型参数选项的设置方法也进行了说明。

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

JVM参数类型

  • 1.标准参数(-)
  • 所有的JVM实现都必须实现这些参数的功能,而且向后兼容。
  • 2.非标准参数(-X)
  • 默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不保证向后兼容。
  • 3.非Stable参数(-XX)
  • 此类参数各个jvm实现会有所不同,将来可能会随时取消,需要慎重使用

JVM参数几种类型说明:

  • 1.布尔型参数选项:-XX:+ 打开, -XX:- 关闭。
  • 2.数字型参数选项通过-XX:=设定。
  • 3.字符行参数选项通过-XX:=设定,通常用来指定一个文件,路径,或者一个命令列表。
参数含义默认值示例说明
-Xms初始堆大小物理内存的1/64(<1GB)-Xms2G默认(MinHeapFreeRatio参数可以调整)空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制.
-Xmx最大堆大小物理内存的1/4(<1GB)-Xmx1g默认(MaxHeapFreeRatio参数可以调整)空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制
-Xss每个线程的堆栈大小JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K
-Xmn年轻代大小此处的大小是(eden+ 2 survivor space).此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8
-XX说明
-XX:PermSize表示非堆区初始内存分配大小
-XX:MaxPermSize表示对非堆区分配的内存的最大上限
-XX:-UseGCOverheadLimitGC回收时间过长时会抛出OutOfMemoryError。超过98%的时间用来做GC,连续多次GC都只回收了不到2%的极端情况下才会抛出。jvm预判将会发生OutOfMemery异常,就提早抛出这个异常,并不代表jvm没有内存空间了。执行命令关闭jvm的预判功能。
-XX:SurvivorRatio设置为8,则两个Survivor区与一个Eden区的比值为2:8,一个Survivor区占整个年轻代的1/10.例子: -Xmn500m -XX:SurvivorRatio=3,这样Survivor(2个)与Eden区的大小比值 2:3 500/5=100,也就是每份100,Eden有3份=300
-XX:+UseConcMarkSweepGC开启并行并发CMS垃圾回收器
GC设置参数垃圾回收方式设置说明描述
-XX:+UseParallelGCFull GC采用 parallel MSC ?选择垃圾收集器为并行收集器.此配置仅对年轻代有效.即上述配置下,年轻代使用并发收集,而年老代仍旧使用串行收集
-XX:+UseParNewGC设置年轻代为并行收集可与CMS收集同时使用 JDK5.0以上,JVM会根据系统配置自行设置,所以无需再设置此值
-XX:ParallelGCThreads并行收集器的线程数此值最好配置与处理器数目相等 同样适用于CMS
-XX:+UseParallelOldGC年老代垃圾收集方式为 并行收集 (Parallel Compacting)
-XX:MaxGCPauseMillis每次年轻代垃圾回收的最长时间(最大暂停时间)如果无法满足此时间,JVM会自动调整年轻代大小,以满足此值.
-XX:+UseAdaptiveSizePolicy自动选择年轻代区大小和相应的Survivor区比例设置此选项后,并行收集器会自动选择年轻代区大小和相应的Survivor区比例,以达到目标系统规定的最低相应时间或者收集频率等,此值建议使用并行收集器时,一直打开.
-XX:GCTimeRatio设置垃圾回收时间占程序运行时间的百分比公式为1/(1+n)
其他
-Duser.timezone=GMT+8东8区时区
-XX:+PrintGCDetails时间年轻代: 回收前大小 -> 回收后大小 (年轻代总大小)回收前堆大小 -> 回收后堆大小 (整个堆大小),回收耗时[用户耗时 系统耗时 实际耗时]
2022-09-16T22:21:32.853+0800[GC (Allocation Failure) [PSYoungGen: 488K->488K(2560K)]1422K->1422K(9728K), 0.0011908 secs][Times: user=0.00 sys=0.00, real=0.00 secs]
时间[年轻代: 回收前大小 -> 回收后大小 (年轻代总大小)] [老年代: 回收前大小 -> 回收后大小 (老年代总大小)][元空间: 回收前大小 -> 回收后大小 (整个元空间大小), 回收耗时][用户耗时 系统耗时 实际耗时]
2022-09-16T23:21:32.853+0800[PSYoungGen: 488K->0K(2560K)] [ParOldGen: 934K->997K(5632K)] 1422K->997K(8192K)[Metaspace: 5058K->5058K(1056768K)], 0.0129179 secs][Times: user=0.05 sys=0.00, real=0.01 secs]
-XX:+HeapDumpOnOutOfMemoryErrorCreates heap dump in out-of-memory condition
-XX:+HeapDumpBeforeFullGCCreates heap dump file before full GC
-XX:+HeapDumpAfterFullGCCreates heap dump file after full GC
-XX:HeapDumpPath=Specifies path to save heap dumps
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值