Java VM 启动参数详解
@Date 2017.05.24
打印输出相关参数
-verbose
打印加载类的详细信息
-verbose:gc
打印虚拟机中GC的详细情况:显示最忙和最空闲收集行为发生的时间、收集前后的内存大小、收集需要的时间等
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/admin/logs/java.hprof
虚拟机在出现内存溢出异常时Dump 出当前的内存堆转储快照
-XX:+TraceClassLoading
打印加载类的详细信息
-XX:+PrintGCDetails
详细了解GC中的变化
-XX:+PrintGCDateStamps
了解垃圾收集发生的时间,自JVM启动以后以秒计量
-Xloggc:/home/admin/logs/gc.log
GC日志文件的路径
涉及堆相关的参数
-server
server模式下,新生代选择的是并行GC,旧生代选择的是并行GC
client模式下,新生代选择的是串行GC,旧生代选择的是串行GC
-Xms2g
堆的初始值2g
-Xmx2g
堆的最大值2g
PS:避免在运行时频繁调整Heap的大小,通常-Xms与-Xmx的值设成一样
-XX:MinHeapFreeRation=
空余堆内存小于MinHeapFreeRation时,JVM会增大Heap到-Xmx指定的大小
-XX:MaxHeapFreeRation=
空余堆内存大于MaxHeapFreeRation时,JVM会减小heap的大小到-Xms指定的大小
-Xmn1g
新生代堆大小1G
-XX:SurvivorRatio=8
默认32:1:1
新生代的Eden区:From区:To区的比例为8:1:1
-XX:PermSize= (JDK7)
永久代大小
-XX:MaxPermSize= (JDK7)
永久代MAX大小
-XX:MetaspaceSize= (JDK8)
代替PermSize,元空间大小
-XX:MaxMetaspaceSize= (JDK8)
代替MaxPermSize,元空间最大值
回收算法
标记-清理
直接清理
效率高
产生内存碎片
标记-复制
两块内存区域,S1,S2
不存在内存碎片
占用双倍空间
标记-整理
在标记-清理之后,让剩余存活的对象都向一端移动,并更新引用其对象的指针
效率低
不产生碎片
分代收集算法
把Java堆分新生代和老年代
在新生代用复制算法
在老年代用标记-清理或标记-整理算法
垃圾清理类型
-XX:+UseSerialGC
Serial GC
串行
使用简单的标记、清除、压缩方法对年轻代和年老代进行垃圾回收,即Minor GC和Major GC
适用于CPU配置较低,内存占用较少的单独Client应用模式
-XX:+UseParallelGC
Parallel GC
并行
收集方式同Serial GC一样
产生N个线程来进行年轻代的垃圾收集
N默认=系统CPU核数
-XX:ParallelGCThreads=
设置Parallel GC线程数量
-XX:+UseParallelOldGC
Parallel Old GC
方式同Parallel GC
主要是年轻代和年老代垃圾回收时都使用多线程收集
-XX:+UseConcMarkSweepGC
并发标记清除(CMS)收集器
短暂停顿并发收集器
CMS-initial-mark:初始标记阶段(stop the world)
CMS-concurrent-mark : 和应用线程并发执行,标记可达的对象
CMS-concurrent-preclean(CMS-concurrent-preclean-start,CMS-concurrent-preclean) : 预清理(标记和应用线程是并发执行的,有些对象的状态在标记后会改变)
CMS-concurrent-abortable-preclean : 进一步的预清理,减少Rescan阶段时间.使用到参数(-XX:CMSMaxAbortablePrecleanTime)
Rescan阶段(stop the world) : 暂停应用线程,对对象进行重新扫描并标记
CMS-concurrent-sweep : 并发的垃圾清理
CMS-concurrent-reset : 下一次CMS GC重置相关数据结构
对年老代进行垃圾收集
年轻代使用的算法和Parallel一样
适用于不能忍受长时间停顿要求快速响应的应用
!!!FULL GC
concurrent-mode-failure : CMS GC时,有新的对象要进入年老代,但是年老代空间不足
promotion-failed : Young GC时,存活对象从Eden区到Survivor区,但是Survivor区空间不足,需要到年老代,年老代空间也不足
作者:voltric
链接:https://www.jianshu.com/p/674c3614ff34
共同学习,写下你的评论
评论加载中...
作者其他优质文章