一、生成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

Eclipse打印GC日志的更多相关文章

  1. IDEA打印gc日志,设置JVM参数方法

    打印gc日志 1.对指定运行程序输出GC日志: 点击edit configurations... 在vm options处加入-XX:+PrintGCDetails 测试:代码调用system.gc后 ...

  2. idea打印gc日志

    1.在idea里添加配置 -XX:+PrintGCDetails 2.打印GC的详细信息: -XX:+PrintGCDetails 解释:打印GC详细信息. -XX:+PrintGCTimeStamp ...

  3. JVM学习之Eclipse输出GC日志

    Java应用启动时,可以通过设置verbose参数来输出JVM的gc情况,命令如下:-verbose:gc或者-XX:+PrintGC在Eclipse中可以通过Run As|Run Configura ...

  4. tomcat打印GC日志

    在catinlin.sh的最上面加上 JAVA_OPTS=" -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -Xloggc:/lnmp/tomcat8 ...

  5. 打印GC日志

    所需参数如下: -XX:+PrintGCTimeStamps -XX:+PrintGCDetails -verbose:gc -Xloggc:gc.log 会在根目录生成 gc.log 文件,里面记录 ...

  6. 【GC分析】Java GC日志查看

    Java中的GC有哪几种类型? 参数 描述 UseSerialGC 虚拟机运行在Client模式的默认值,打开此开关参数后, 使用Serial+Serial Old收集器组合进行垃圾收集. UsePa ...

  7. JAVA 从GC日志分析堆内存 第七节

    JAVA 从GC日志分析堆内存 第七节   在上一章中,我们只设置了整个堆的内存大小.但是我们知道,堆又分为了新生代,年老代.他们之间的内存怎么分配呢?新生代又分为Eden和Survivor,他们的比 ...

  8. JVM基础系列第14讲:JVM参数之GC日志配置

    说到 Java 虚拟机,不得不提的就是 Java 虚拟机的 GC(Garbage Collection)日志.而对于 GC 日志,我们不仅要学会看懂,而且要学会如何设置对应的 GC 日志参数.今天就让 ...

  9. Java GC日志查看

    Java GC类型 Java中的GC有哪几种类型? 参数 描述 UseSerialGC 虚拟机运行在Client模式的默认值,打开此开关参数后, 使用Serial+Serial Old收集器组合进行垃 ...

随机推荐

  1. java中Comparatable接口和Comparator接口的区别

    1.不同类型的排序规则 .自然排序是什么?   自然排序是一种升序排序.对于不同的数据类型,升序规则不一样:   BigDecimal BigInteger Byte Double Float Int ...

  2. go框架gin的使用

    我们在用http的时候一般都会用一些web框架来进行开发,gin就是这样的一个框架,它有哪些特点呢 一:gin特点 1.性能优秀2.基于官方的net/http的有限封装3.方便 灵活的中间件4.数据绑 ...

  3. 根据指定的key,将二维数组的value转换为string,适用于mysql的in查询

    function array_unique_join($arr,$param){ $utm_source_arr = array_unique(array_column($arr,$param)); ...

  4. 数据挖掘的标准流程-CRISP-DM

    1.起源 CRISP-DM (cross-industry standard process for data mining), 即为"跨行业数据挖掘过程标准".此KDD(know ...

  5. ansbile Tags && Block

    Tags 官网示例:https://docs.ansible.com/ansible/2.6/user_guide/playbooks_tags.html 编写执行playbook的时候,每次修改完y ...

  6. java io系列11之 FilterOutputStream

    FilterOutputStream 介绍 FilterOutputStream 的作用是用来“封装其它的输出流,并为它们提供额外的功能”.它主要包括BufferedOutputStream, Dat ...

  7. MyBatis-DynamicSQL IF判断

    在写动态sql时发现字符串的判断没有生效 <if test="CLLX != null and CLLX != ''"> and a.CLLX = #{CLLX} &l ...

  8. js/java常用正则表达式及写法

    不定时增加正则表达式. 其中 Js验证写法: var str = "待验证文本"; var regular = new RegExp(/^这里是正则表达式/); if (regul ...

  9. 添加Glide图片加载框架依赖

    1.添加依赖implementation 'com.github.bumptech.glide:glide:4.7.1' 2.放置一个ImageView.3.加载,ivGif是ImageView实例 ...

  10. IIS7.5配置过程

    1.Windows功能,注意选择应用程序开发功能,否则不能使用经典模式. 2.Cmd运行(使用.netframework4.0)C:\Windows\Microsoft.NET\Framework\V ...