作者热门文章
- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
-XX:+UseSerialGC -XX:+UseSerialOldGC
) -XX:+UseParallelGC -XX:+UseParallelOldGC
) -XX:+UseParNewGC
) + CMS收集器( -XX:+UseConcMarkSweepGC
)
-XX:SurvivorRatio
:新生代中Eden区与两个Survivor区的比值。注意Survivor区有两个。如:为3,表示Eden:Survivor=3:2,一个Survivor区占整个新生代的1/5 -XX:TargetSurvivorRatio
:对象动态年龄判断:当前放对象的Survivor区域中一批对象的总大小大于这块Survivor区域内存大小的50%,那么此时大于等于这批对象年龄最大值的对象,就可以直接进入老年代了 -XX:-HandlerPromotionFailure
:老年代空间分配担保机制:Minor GC后JVM会算一下老年代剩余的可用空间。如果可用空间小于年轻代中所有对象大小之和(包括垃圾对象)。则会看是否设置了 -XX:-HandlerPromotionFailure
(1.8默认设置了)参数 -XX:+UseSerialGC -XX:+UseSerialOldGC
) -XX:+UseParallelGC -XX:+UseParallelOldGC
) -XX:+UseParNewGC
) + CMS收集器( -XX:+UseConcMarkSweepGC
)
-XX:+PrintGC
-XX:+PrintGCDetails
-XX:+PrintGCTimeStamps
-Xloggc:filename
-XX:+UseConcMarkSweepGC
:启用cms -XX:ConcGCThreads
:并发的GC线程数 -XX:+UseCMSCompactAtFullCollection
:FullGC之后做压缩整理(减少碎片) -XX:CMSFullGCsBeforeCompaction
:多少次FullGC之后压缩一次,默认是0,代表每次FullGC后都会压缩一次 -XX:CMSInitiatingOccupancyFraction
:当老年代使用达到该比例时会触发FullGC(默认是92,这是百分比) -XX:+UseCMSInitiatingOccupancyOnly
:只使用设定的回收阈值(-XX:CMSInitiatingOccupancyFraction设定的值),如果不指定,JVM仅在第一次使用设定值,后续则会自动调整 -XX:+CMSScavengeBeforeRemark
:在CMS GC前启动一次minor gc,降低CMS GC标记阶段(也会对年轻代一起做标记,如果在minor gc就干掉了很多对垃圾对象,标记阶段就会减少一些标记时间)时的开销,一般CMS的GC耗时 80%都在标记阶段 -XX:+CMSParallellnitialMarkEnabled
:表示在初始标记的时候多线程执行,缩短STW -XX:+CMSParallelRemarkEnabled
:在重新标记的时候多线程执行,缩短STW JVM调优思路 。
最后此篇关于JVM常用调优参数的文章就讲到这里了,如果你想了解更多关于JVM常用调优参数的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我的代码遇到了很大的困难。我正在开发一个显示歌词和和弦的应用程序。我使用两个重叠的textview分隔了和弦和歌词。 我在这个项目中遇到的问题是音高改变功能。我尽我所能向我解释得更好: 和弦总数为12
我有一个游戏并使用 Tune 作为分析库。使用最新的 Unity (5.3.4f1) 并通过 Unity 获取 apk(无 eclipse/android studio)。 我的游戏在 Play 商店
我是一名优秀的程序员,十分优秀!