zoukankan      html  css  js  c++  java
  • eclipse jvm调优

    1.初始参数

    -Xms256m
    -Xmx1024m

    2.在eclipse.ini中加入,注意一点的是D:/soft/eclipse-jee,这个目录必须存在,启动时并不会自动目录

    -verbose:gc
    -XX:+PrintGCDetails
    -XX:+PrintGCDateStamps
    -Xloggc:D:/soft/eclipse-jee/gc.log

    3.分析日志

    2017-02-24T22:28:40.366+0800: 1.432: [GC [PSYoungGen: 65600K->10872K(76480K)] 65600K->22224K(251264K), 0.0280555 secs] [Times: user=0.13 sys=0.00, real=0.03 secs] 

    这个代表进行了GC,

    解析:

      a、1.432,表示jvm启动到垃圾收集的实际

      b、GC:是一个minor gc(新生代gc)

          c 、[PSYoungGen: 65600K->10872K(76480K):表示新生代使用了多线程垃圾收集器parallel Scavenge,65600K表示新生代垃圾收集前占用的空间,10872K表示新生代垃圾收集之后的空间,新生代分为两个区,一个eden区和两个survivon区,minor gc后,eden区为空,10872K为survivon区大小,76480K为整个新生代大小。

       d、65600K->22224K(251264K):

        251264K是整个堆区的大小,65600K收集前堆区的大小,22224K收集后堆区的大小。

    4.修改参数为:

    -Xms1024m    最小堆大小
    -Xmx1024m   最大堆大小
    -XX:NewSize=768m 新生代大小
    -XX:MaxNewSize=768m 新生代最大值
    -XX:PermSize=200m  持久代大小
    -XX:MaxPermSize=200m 持有代大小

    5.java 堆内存分布

      a。年轻代   所有新生成的对象都在新生代,一个eden区,两个survivor区,当eden区满时,把存活对象复制到一个survivor区,当一个survivor区满时,就把存活对象复制到另外一个survivor区,当另个一个survivor区也满了的时候,从前一个survivor区复制过来还存活的对象,就被复制到old区

      b。年老代  在经历了N次垃圾回收还存活的对象,会放到年老代

      c。持久代  java类信息 ,用于存放静态对象。

  • 相关阅读:
    Python+paramiko实现绕过跳板机免密登录服务端
    ssh-keygen生成公钥私钥
    连接MySQL报 unblock with 'mysqladmin flush-hosts' 问题解决
    查询MySQL连接数
    Git常用操作命令
    cmd命令、Python脚本生成任意大小任意格式文件
    颜色渐变实现
    4月简单总结
    大佬经历读后感
    Echarts实践-实现3D地球
  • 原文地址:https://www.cnblogs.com/suixin84/p/6440644.html
Copyright © 2011-2022 走看看