JVM常用参数设置

堆设置

  • -XSS:创建线程的内存大小,即虚拟机栈所占空间大小
  • -Xms:初始堆大小
  • -Xmx:最大堆大小。一般将-Xmx设置为和-Xms一样的值,这样在GC完之后,不需要重新计算堆区内存大小,可以提升JVM的性能
  • -Xmn:新生代大小
  • -XX:NewRatio:设置新生代和老年代的比值。默认值为2,表示新生代:老年代=1:2
  • -XX:SurvivorRatio:新生代中Eden区与两个Survivor区的比值。默认值为8,表示Eden:Survivor0:Survivor1=8:1:1,注意Survivor区有两个
  • -XX:MaxTenuringThreshold:设置转入老年代的存活次数。如果是0,则直接跳过新生代进入老年代
  • -XX:PermSize、-XX:MaxPermSize:分别设置永久代最小大小与最大大小(Java8以前)
  • -XX:MetaspaceSize、-XX:MaxMetaspaceSize:分别设置元空间最小大小与最大大小(Java8以后)

收集器设置

  • -XX:+UseSerialGC:设置串行收集器
  • -XX:+UseParallelGC:设置并行收集器
  • -XX:+UseParalledlOldGC:设置并行老年代收集器
  • -XX:+UseConcMarkSweepGC:设置并发收集器

垃圾回收统计信息

  • -XX:+PrintGC 等价于 -verbose:gc
  • -XX:+PrintGCDetails
  • -XX:+PrintGCTimeStamps
  • -Xloggc:filename

并行收集器设置

  • -XX:ParallelGCThreads=n:设置并行收集器收集时使用的CPU数。并行收集线程数。
  • -XX:MaxGCPauseMillis=n:设置并行收集最大暂停时间
  • -XX:GCTimeRatio=n:设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)

并发收集器设置

  • -XX:+CMSIncrementalMode:设置为增量模式。适用于单CPU情况。
  • -XX:ParallelGCThreads=n:设置并发收集器新生代收集方式为并行收集时,使用的CPU数。并行收集线程数。

栈空间设置

-XX:TLABWasteTargetPercent 设置虚拟机栈TLAB内存大小所占Eden内存比例,默认值1,表示占百分之一

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JVM参数设置的最佳实践可以根据具体的应用场景和需求来确定。以下是一些常见的JVM参数设置建议: 1. 内存相关参数: - -Xms:设置JVM的初始堆大小,建议与-Xmx相同,以避免堆大小动态调整带来的性能开销。 - -Xmx:设置JVM的最大堆大小,根据应用的内存需求进行适当调整。 - -Xmn:设置年轻代的大小,一般建议设置为整个堆大小的1/3到1/4。 - -XX:MaxMetaspaceSize:设置元空间(Metaspace)的最大大小,根据应用的类加载需求进行适当调整。 2. 垃圾回收相关参数: -XX:+UseG1GC:启用G1垃圾回收器,适用于大内存应用和低延迟要求。 - -XX:+UseParallelGC:启用并行垃圾回收器,适用于多核处理器和吞吐量优先的应用。 - -XX:+UseConcMarkSweepGC:启用CMS垃圾回收器,适用于低延迟要求的应用。 - -XX:ParallelGCThreads:设置并行垃圾回收的线程数,根据CPU核心数进行适当调整。 3. 线程相关参数: - -Xss:设置线程栈的大小,根据应用的线程数量和递归深度进行适当调整。 - -XX:ThreadStackSize:设置线程栈的大小,与-Xss参数功能相同,但优先级更高。 4. 其他常用参数: - -XX:+DisableExplicitGC:禁用显式垃圾回收调用,避免不必要的性能开销。 - -XX:+UseCompressedOops:启用指针压缩,减少对象引用的内存占用。 请注意,以上只是一些常见的JVM参数设置建议,具体的最佳实践还需要根据应用的具体情况进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值