一、生成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. python自动化开发-[第十二天]-前端html

    今日概要: 前端基础之html 1.web服务器的本质: #!/usr/bin/python # -*- coding:utf-8 -*- import socket def handle_reque ...

  2. slider插件制作轮播图

    html代码: <div id="banner_tabs" class="flexslider"> <ul class="slide ...

  3. go context

    Context 使用原则 1.不要把Context放在结构体中,要以参数的方式传递 2.以Context作为参数的函数方法,应该把Context作为第一个参数,放在第一位. 3.给一个函数方法传递Co ...

  4. nGrinder TestRunner XFF / X-Forwarded-For

    s 我们在压测请求报文里面带了这个"x-forward-for":"10.24.51.132"这个字段,所以我们所有的压测请求穿透到应用系统的时候,应用系统上采 ...

  5. Tensorflow搞一个聊天机器人

    catalogue . 前言 . 训练语料库 . 数据预处理 . 词汇转向量 . 训练 . 聊天机器人 - 验证效果 0. 前言 不是搞机器学习算法专业的,3个月前开始补了一些神经网络,卷积,神经网络 ...

  6. Ubuntu编译Protobuf(Base tensorflow-12)报错

    报错1: dogepool@ubuntu-server:~/dogecoin$ ./autogen.sh./autogen.sh: 50: ./autogen.sh: autoreconf: not ...

  7. CentOS在VirtualBox虚拟机中网络配置

    1. 宿主机网络参数  2. 右键设置,对虚拟机进行设置网络 3.虚拟机   vi   /etc/sysconfig/network-scripts/ifcfg-eth1   打开该配置文件 eth0 ...

  8. Git(创建与合并分支)

    在版本回退里,你已经知道,每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而 ...

  9. 067、如何部署Calico网络 (2019-04-10 周三)

    参考https://www.cnblogs.com/CloudMan6/p/7509975.html   Calico 是一个纯三层的虚拟网络方案,Calico为每个容器分配一个IP,每个host都是 ...

  10. springboot(十八):CORS方式实现跨域

    资料 https://www.cnblogs.com/toutou/p/9843588.html