zoukankan      html  css  js  c++  java
  • JVM参数和jvm.log

    参数说明:

    -Xms    初始堆大小
    -Xmx    最大堆大小
    -Xmn    年轻代大小 eden + 2 survivor space
    -XX:SurvivorRatio=8     Eden区与Survivor区的大小比值
    -XX:PermSize    设置持久代(perm gen)初始值
    -XX:MaxPermSize    设置持久代最大值
    -Xss    每个线程的堆栈大小
    -XX:CMSInitiatingOccupancyFraction=    年老代使用空间比达到这个值时开始cms gc
    
    -XX:+PrintGCApplicationStoppedTime    打印垃圾回收期间程序暂停的时间
    -XX:+PrintGCApplicationConcurrentTime    打印每次垃圾回收前,程序未中断的执行时间
    -XX:+PrintHeapAtGC    打印GC前后的详细堆栈信息


    测试配置:

    -Xms1000m -Xmx1000m -Xmn400m 
    -XX:PermSize=128m -XX:MaxPermSize=128m
    -Xss512k
    -XX:+UseConcMarkSweepGC -XX:+UseParNewGC 
    -XX:SurvivorRatio=8 
    -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCApplicationConcurrentTime -XX:+PrintHeapAtGC 
    -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/data/lxx.jvm
    -XX:CMSInitiatingOccupancyFraction=80

    Young GC:
        日志:
            2015-01-15T16:04:24.237+0800: 1691.665: [GC 1691.665: [ParNew: 350110K->22406K(368640K), 0.0055010 secs] 430492K->105988K(983040K), 0.0055690 secs] [Times: user=0.02 sys=0.00, real=0.01 secs]
        日志说明:

    2015-01-15T16:04:24.237+0800: 1691.665: [
            GC 1691.665: [      # (Young GC) 时间戳
                ParNew:                     # ParNew(使用ParNew作为年轻代的垃圾回收期)
                350110K->22406K(368640K),   # 年轻代 回收前大小->回收后大小(年轻代容量)
                0.0055010 secs              # 回收时间
            ] 
            430492K->105988K(983040K),      # 堆 回收前大小->回收后大小(堆容量)
            0.0055690 secs                  # 回收时间
        ] [
            Times: user=0.02 sys=0.00, real=0.01 secs   # Young GC用户耗时, Young GC系统耗时, Young GC实际耗时
        ] 
        内存容量
            年轻代: 368640K(360M) = 400M / (8 + 1 + 1) * (8 + 1) (始终闲置着40M)
            堆:     983040K(960M) = 1000M - 40M
        内存变化:
            年轻代: 368640K(360M)   350110K - 22406K  = 327704K
            堆:     983040K(960M)   430492K - 105988K = 324504K
                                    327704K - 324504K = 3200K 被移动到了Old Gen

    Full GC
        日志:
            2015-01-15T16:29:53.894+0800: 3221.322: [Full GC 3221.322: [CMS: 614343K->614234K(614400K), 0.4258390 secs] 982961K->973059K(983040K), [CMS Perm : 121449K->121449K(131072K)], 0.4259380 secs] [Times: user=0.43 sys=0.00, real=0.42 secs]
            2015-01-15T16:28:49.218+0800: 3156.645: [Full GC (System) 3156.645: [CMS2015-01-15T16:28:49.377+0800: 3156.805: [CMS-concurrent-mark: 0.165/0.166 secs] [Times: user=0.19 sys=0.00, real=0.17 secs]
        日志说明:
                

    Full GC (System)    # 显式调用System.gc产生的
    
        2015-01-15T16:29:53.894+0800: 3221.322: [
            Full GC 3221.322: [     # (Full GC) 时间戳
                CMS: 
                614343K->614234K(614400K),  # old区 回收前大小->回收后大小(old区容量)
                0.4258390 secs              # 回收时间
            ] 
            982961K->973059K(983040K),  [   # 堆 回收前大小->回收后大小(堆容量)
                CMS Perm : 121449K->121449K(131072K)    # Perm区 回收前大小->回收后大小(Perm区容量)
            ], 0.4259380 secs               # 回收时间
        ] [
            Times: user=0.43 sys=0.00, real=0.42 secs
        ] 
        内存容量
            Old区:  614400K(600M) = 1000M - 400M = 960M - 360M
            堆:     983040K(960M)
        内存变化:
            Old区:  614400K(600M)   614343K - 614234K = 109K
            堆:     983040K(960M)   982961K - 973059K = 9902K


    ParNew (promotion failed)
        发生在新生代晋升老年代时,老年代空间不够或连续空间不够却还没达到old区的触发值,引发Full Gc.
        2015-01-15T16:26:07.003+0800: 2994.431: [GC 2994.431: [ParNew (promotion failed): 351815K->349784K(368640K), 0.0095780 secs]2994.441: [CMS2015-01-15T16:26:07.074+0800: 2994.502: [CMS-concurrent-mark: 1.043/1.166 secs] [Times: user=4.25 sys=0.03, real=1.16 secs]

    concurrent mode failure
        发生在CMS GC 运行过程中,老年代空间不足,引发MSC
        2015-01-15T16:26:07.003+0800: 2994.431: [GC 2994.431: [ParNew (promotion failed): 351815K->349784K(368640K), 0.0095780 secs]2994.441: [CMS2015-01-15T16:26:07.074+0800: 2994.502: [CMS-concurrent-mark: 1.043/1.166 secs] [Times: user=4.25 sys=0.03, real=1.16 secs]
        (concurrent mode failure): 614155K->614338K(614400K), 0.5011370 secs] 960545K->632140K(983040K), [CMS Perm : 121434K->121434K(131072K)], 0.5108440 secs] [Times: user=0.52 sys=0.00, real=0.51 secs]

    [参考] http://hot66hot.iteye.com/blog/2075819

  • 相关阅读:
    py基础之模块与包
    py装饰器,生成器,迭代器
    py函数式编程
    py基础之列表生成式
    算法基础之递归算法
    Py基础之函数
    py基础之无序列表
    py基础之数据类型及基本语法
    jsp报错问题汇总
    mysql问题汇总
  • 原文地址:https://www.cnblogs.com/lixingxing/p/4227189.html
Copyright © 2011-2022 走看看