复制代码

【12】JVM 参数

我理解的 JVM 所谓 JVM 就是 一个虚拟程序的生存对象内存管理 ,过多的不说也罢

扫盲
    -XX 系统级别 的配置 日志信息 是用什么垃圾回收器
    非-XX  程序级别 对应用层面的配置
    + 启用 - 禁用
    -XX:+PrintGc
        遇到gc 打印日志
    -XX:+UseSerialGc
        配置串行回收器
    -XX:+PrintGcDetails
        查看祥信息
    -Xms
        设置启动时 初始堆大小
    -Xmx
        最大堆的大小
    -Xmx20m -Xms5m -XX:+PrintCommandLineFlags
        隐式或显示传递给虚拟机参数输出
    -Xmn
        新生代大小
    -XX:SurvivorRatio=eden/from=eden/to
        新生代 中的比例
    -XX:NewRatio=老年代/新生代
    -Xss
        线程栈大小
    -XX:PermSize=64M -XX:MaxPermSize=64M
    Server Client 模式
    -XX:MAxTenuringThreshold 新生代到老年代gch回收次数
    -XX:PretenureSizeThreshold 对象大小
        超过的话就要分配到老年代
    -XX:+UseTLAB  
        使用talb 区
    -XX:TALBSize
        设置tlab 大小
    -XX:TLABRefillWasterFraction
        默认 64 分之一的tlab大小
    分配 过程
        栈 tlab 老年代 eden
新生代 是整个堆的1/3 - 1/4
堆溢出插件
    Memory Analyzer

根据 对象的回收算法 ,类如 copy 通过新生代 的 s0 s1 相互拷贝,增加 gc 回收次数

  老年代分代分区 ,将所有的的有限情况 交给对应的队列头 同意清除

 

posted @ 2018-12-13 11:31  pg633  阅读(176)  评论(0编辑  收藏  举报