本文内容:jvm参数汇总 jvm垃圾收集器组合
堆栈参数
参数 | 作用 |
---|---|
-Xms | jvm启动时堆内存的初始大小 |
-Xmx | 堆内存的最大值 |
-Xmn | 新生代空间大小,剩下的为老年代空间大小 |
-Xss | 栈空间大小 |
-XX:PermGen | 设置永久代内存的初始化大小,jdk1.8开始废弃永久代 |
-XX:MaxPermGen | 设置永久代的最大值 |
-XX:SUrvivorRatio | 设置新生代和存活区的比例。-XX:SurvivorRatio=8 表示存活区:新生代=1:8 =》新生代占年轻代的8/10,每个存活区各占年轻代的1/10。默认值:8 |
-XX:NewRatio | 设置老年代和年轻代的比例。比如:-XX:NewRatio=8 表示老年代内存:年轻代内存=8:1 => 老年代占堆内存的8/9;年轻代占堆内存的1/9。默认值:2 |
垃圾回收器参数
参数 | 作用 |
---|---|
-XX:+UseSerialGC | 使用Serial收集器串行收集 |
-XX:+UseParNewGC | ParNew收集器 |
-XX:ParallelGCThreads | 设置并行线程数,默认是CPU核数 |
-XX:+UseParallelGC | 使用Parallel Scavenge收集器,关注系统的吞吐量 |
-XX:+UseParallelOldGC | 使用Parallel Scavenge收集器作用在老年代 |
-XX:+UseConcMarkSweepGC | 并行,使用CMS收集器 |
-XX:+ UseCMSCompactAtFullCollection | Full GC后,进行一次碎片整理;整理过程是独占的,会引起停顿时间变长 |
-XX:+CMSFullGCsBeforeCompaction | 设置进行几次Full GC后,进行一次碎片整理 |
-XX:+ParallelCMSThreads | 设定CMS的线程数量 |
-XX:CMSInitiatingOccupancyFraction | CMS垃圾收集器,当老年代达到多少百分比时候,触发CMS垃圾回收 |
-XX:+UseG1GC | 使用G1收集器,进行垃圾收集的时候它会有限收集存活对象较少的区域 |
目前主要有串行、并行和并发三种,对于大内存的应用而言,串行的性能太低,因此使用到的主要是并行和并发两种。并行和并发 GC 的策略通过 UseParallelGC 和 UseConcMarkSweepGC 来指定,还有一些细节的配置参数用来配置策略的执行方式。例如:XX:ParallelGCThreads, XX:CMSInitiatingOccupancyFraction 等。通常:Young 区对象回收只可选择并行(耗时间),Old 区选择并发(耗 CPU)。
常用配置
参数 | 作用 |
---|---|
-Xms | jvm启动时堆内存的初始大小 |
-Xmx | 堆内存的最大值 |
-Xmn | 新生代空间大小,剩下的为老年代空间大小 |
-Xss | 栈空间大小 |
-XX:PermGen | 设置永久代内存的初始化大小,jdk1.8开始废弃永久代 |
-XX:MaxPermGen | 设置永久代的最大值 |
-XX:+UseStringCache | 默认开启,启动缓存常用的字符串 |
-XX:+UseConcMarkSweepGC | 老年代使用CMS收集器 并行并发 |
-XX:+UseParNewGC | 新生代使用ParNew收集器 并行 |
-XX:ParallelGCThreads | 设置并行线程数,默认是CPU核数 |
-XX:+CMSClassUnloadingEnabled | 允许对类的元数据进行清理 |
-XX:+DisableExplicitGC | 禁止显示的GC |
-XX:+UseCMSInitiatingOccupancyOnly | 只有达到阈值后才进行CMS回收 |
-XX:CMSInitiatingOccupancyFraction | 设置CMS老年代的回收阈值 |
-verbose:gc | 输出GC详情 |
-XX:+PrintGCDetails | 打印GC详情日志 |
-XX:+PrintGCDateStamps | 打印GC的耗时 |
-XX:+PrintTenuringDistribution | 打印Tenuring年龄信息 |
-XX:+HeapDumpOnOutOfMemoryError | 抛出OOM时进行HeapDump |
-XX:HepDumpPath=/home/admin/gcLogs | 指定HeapDump的文件路径或目录 |
垃圾收集器常用组合
上面这张图很就是所有垃圾收集器的组合
组合的详细介绍可以参考https://www.cnblogs.com/grey-wolf/p/10222758.html#_label2这篇文章