zoukankan      html  css  js  c++  java
  • Eclipse打印GC日志

    一、生成gc.log

      第一步:右键项目或文件——Run As——Run Configurations。

      第二步:点击Arguments,在VM arguments中填写-Xloggc:F:/gc.log,点击Apply,最后点击Run。(可在自己选定目录中生成gc.log,例如:我选择的是F盘目录下)

      或者(VM参数:-verbose:gc -Xms20M -Xmx20M -Xmn10M -XX:+PrintGCDetails -XX:SurvivorRatio=8 -XX:PretenureSizeThreshold=3145728 -Xloggc:F:/gc.log)

      第三步:进入F盘,这时候会看到在F盘中生成了文件“gc.log”,用记事本打开即可查看该文件运行的GC日志。

    二、查看日志信息

      0.187: [GC (System.gc()) 2003K->688K(125952K), 0.0014071 secs]

      0.189: [Full GC (System.gc()) 688K->559K(125952K), 0.0076203 secs]

      ---0.187:GC发生的时间(从虚拟机启动以来经过的秒数)

      ---[GC / Full /:本次垃圾收集的停顿类型,有Full表示这次GC是发生了Stop-The-World的

      ---System.gc():调用了System.gc()方法的收集

      ---2003K->688K(125952K)

       表示GC前该内存区域已使用容量->GC后该内存区域已使用容量,后面圆括号里面的125952K为该内存区域的总容量。

      不同的收集器打印出的信息稍有不同:

      [GC类型 (System.gc()) [Young区: GC前Young的内存占用->GC后Young的内存占用(Young区域总大小)]

      [old老年代: GC前Old的内存占用->GC后Old的内存占用(Old区域总大小)] GC前堆内存占用->GC后堆内存占用(JVM堆总大小),

      [永久代区: GC前占用大小->C后占用大小(永久代区总大小)], GC用户耗时] [Times:用户耗时 sys=系统时间, real=实际时间] 

     三、VM参数

    1、限制 Java 堆的大小为 20M,且不可扩展:

        -Xms20m -Xmx20m 

    2、打印加载类的详细信息

        -verbose:gc   

    3、新生代堆大小1G 

         -XX:SurvivorRatio=8

    4、虚拟机在出现内存溢出异常时Dump 出当前的内存堆转储快照

        -XX:+TraceClassLoading

    5、打印加载类的详细信息

        -XX:+PrintGCDetails

  • 相关阅读:
    unittest(生成 HTMLTestRunner 模块)
    unittest(discover 批量执行用例)
    SAP SD 基础知识之定价配置(Pricing Configuration)
    SAP SD基础知识之凭证流(Document Flow)
    SAP SD 基础知识之行项目类别(Item Category)
    pjd-fstest The test suite checks POSIX compliance
    网络上一些有趣的项目和文章
    博士生传给硕士生的经验
    man -k, man -f : nothing appropriate ; 更新 whatis 数据库
    supervisor 工具使用
  • 原文地址:https://www.cnblogs.com/dongtian-blogs/p/10710092.html
Copyright © 2011-2022 走看看