- 官方文档 :
https://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html - -XX: +PrintFlagsInitial :查看所有的参数的默认初始值
- -XX:+PrintFlagsFinal : 查看所有的参数的最终值(可能会存在修,不再是初始值)。
具体 查看某个参数的指令:
①jps:查看当前运行中的进程 ②jinfo -flag SurvivorRation(某个参数) 进程id - -Xms: 初始堆空间内存(默认为物理内存的1/64)
- -Xmx: 最大堆空间内存(默认为物理内存的1/4)
- -Xmn:设置新生代的大小。(初始值及最大值)
- -XX:NewRatio:配置新生代与老年代在堆结构的占比
- -XX: SurvivorRatio:设置新生代中Eden和S0/S1空间的比例
- -XX :MaxTenuringThreshold:设置新生代垃圾的最大年龄
- -XX: +PrintGCDetails:输出详细的GC处理日志
➢打印gc简要信息:①-XX:+PrintGC ②-verbose:gc - -XX:HandlePromotionFailure:是否设置空间分配担保(JDK7后失效)
在发生Minor GC之 前,虚拟机会检查老年代最大可用的连续空间是否大于新生代所有对象的总空间。
如果大于,则此次Minor GC是安全的。如果小于,则虚拟机会查看-XX: HandlePromotionFailure设置值是否允许担保失败。
➢如果HandlePromotionFailure=true, 那么会继续检查老年代最大可用连续空间是否大于历次晋升到老年代的对象的平均大小。
①如果大于,则尝试进行一次Minor GC,但这次Minor GC依然是有风险的;
②如果小于,则改为进行一次Full GC。
③如果HandlePromotionFailure=false, 则改为进行一次Full GC。
在JDK6 Update24(JDK7)之后, HandlePromotionFailure参数不会再影响到虚拟机的空间分配担保策略,观察openJDK中 的源码变化,虽然源码中还定义了HandleP romotionFailure参数,但是在代码中已经不会再使用它。JDK6 Update 24之后的规则变为只要老年代的连续空间大于新生代对象总大小或者历次晋升的平均大小就会进行Minor GC, 否则将进行Full GC。 .
相关文章
- 11-05只有1个字节的文件实际占用多少磁盘空间
- 11-05“设备上没有剩余空间” 导致登录不上 SSH 的解决方法
- 11-05Python面向对象02/类的空间问题、类与对象之间的关系、类与类之间的关系
- 11-05港中文&商汤提出SMCA:用于DETR快速收敛的空间调制协同注意力
- 11-05PAT L2-012 关于堆的判断
- 11-05算法-链表 在带头结点的单链表L中,删除所有值为X的结点,并释放其空间。
- 11-05【堆的启发式合并】【P5290】[十二省联考2019]春节十二响
- 11-05常见数据类型在codeblocks编译环境下占用内存空间的大小
- 11-05使用opencv的cvtColor()函数进行色彩空间转换
- 11-05Android开发setTextColor()参数设置大全,setTextColor()里面能放的参数有哪些?