打开日志:运行配置---XX:+PrintGCDetails

示例程序:

package com.test;

public class Test
{
private Object instance = null;
private String str; private static final int _1MB = 1024 * 1024;
/** 这个成员属性唯一的作用就是占用一点内存 */
private byte[] bigSize = new byte[2 * _1MB]; public static void main(String[] args)
{
Test objectA = new Test();
objectA.str = objectA.bigSize.toString();
Test objectB = new Test();
objectB.str = objectB.bigSize.toString();
objectA.instance = objectA;
objectB.instance = objectB; objectA = null;
objectB = null; System.gc();
}
}

打印:

[GC [PSYoungGen: 5980K->584K(229376K)] 5980K->584K(491520K), 0.0020351 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
[Full GC [PSYoungGen: 584K->0K(229376K)] [ParOldGen: 0K->465K(262144K)] 584K->465K(491520K) [PSPermGen: 2573K->2572K(131072K)], 0.0116565 secs] [Times: user=0.00 sys=0.00, real=0.01 secs]
Heap
PSYoungGen total 229376K, used 7864K [0x00000000f0000000, 0x0000000100000000, 0x0000000100000000)
eden space 196608K, 4% used [0x00000000f0000000,0x00000000f07ae210,0x00000000fc000000)
from space 32768K, 0% used [0x00000000fc000000,0x00000000fc000000,0x00000000fe000000)
to space 32768K, 0% used [0x00000000fe000000,0x00000000fe000000,0x0000000100000000)
ParOldGen total 262144K, used 465K [0x00000000e0000000, 0x00000000f0000000, 0x00000000f0000000)
object space 262144K, 0% used [0x00000000e0000000,0x00000000e00744a0,0x00000000f0000000)
PSPermGen total 131072K, used 2579K [0x00000000d0000000, 0x00000000d8000000, 0x00000000e0000000)
object space 131072K, 1% used [0x00000000d0000000,0x00000000d0284e98,0x00000000d8000000)

注释掉objectA = null; 和 objectB = null;

打印:

[GC [PSYoungGen: 9912K->4680K(229376K)] 9912K->4680K(491520K), 0.0092221 secs] [Times: user=0.00 sys=0.00, real=0.01 secs]
[Full GC [PSYoungGen: 4680K->0K(229376K)] [ParOldGen: 0K->4561K(262144K)] 4680K->4561K(491520K) [PSPermGen: 2573K->2572K(131072K)], 0.0155152 secs] [Times: user=0.05 sys=0.00, real=0.02 secs]
Heap
PSYoungGen total 229376K, used 5898K [0x00000000f0000000, 0x0000000100000000, 0x0000000100000000)
eden space 196608K, 3% used [0x00000000f0000000,0x00000000f05c29c0,0x00000000fc000000)
from space 32768K, 0% used [0x00000000fc000000,0x00000000fc000000,0x00000000fe000000)
to space 32768K, 0% used [0x00000000fe000000,0x00000000fe000000,0x0000000100000000)
ParOldGen total 262144K, used 4561K [0x00000000e0000000, 0x00000000f0000000, 0x00000000f0000000)
object space 262144K, 1% used [0x00000000e0000000,0x00000000e0474570,0x00000000f0000000)
PSPermGen total 131072K, used 2579K [0x00000000d0000000, 0x00000000d8000000, 0x00000000e0000000)
object space 131072K, 1% used [0x00000000d0000000,0x00000000d0284e90,0x00000000d8000000)

日志信息解释:

YoungGC日志解释如下

FullGC

System.gc()日志分析的更多相关文章

  1. GC之七--gc日志分析工具

    性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析. Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc ...

  2. jvm的GC日志分析 [转]

      jvm的GC日志分析 标签: jvm内存javagc 2015-06-22 16:37 1566人阅读 评论(1) 收藏 举报  分类: Java(4)  JVM的GC日志的主要参数包括如下几个: ...

  3. 【转】gc日志分析工具

    性能测试排查定位问题,分析调优过程中,会遇到要分析gc日志,人肉分析gc日志有时比较困难,相关图形化或命令行工具可以有效地帮助辅助分析. Gc日志参数 通过在tomcat启动脚本中添加相关参数生成gc ...

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

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

  5. GC日志分析详解

    点击返回上层目录 原创声明:作者:Arnold.zhao 博客园地址:https://www.cnblogs.com/zh94 GC日志分析详解 以ParallelGC为例,YoungGC日志解释如下 ...

  6. GC日志分析

    JVM的GC日志的主要參数包含例如以下几个: -XX:+PrintGC 输出GC日志 -XX:+PrintGCDetails 输出GC的具体日志 -XX:+PrintGCTimeStamps 输出GC ...

  7. JVM调优——之CMS GC日志分析

    最近在学习JVM和GC调优,今天总结下CMS的一些特点和要点,让我们先简单的看下整个堆年轻代和年老代的垃圾收集器组合(以下配合java8完美支持,其他版本可能稍有不同),其中标红线的则是我们今天要着重 ...

  8. Android内存优化(二)DVM和ART的GC日志分析

    相关文章 Android内存优化系列 Java虚拟机系列 前言 在Java虚拟机(三)垃圾标记算法与Java对象的生命周期这篇文章中,提到了Java虚拟机的GC日志.DVM和ART的GC日志与Java ...

  9. JVM(7)之 从GC日志分析堆内存

    开发十年,就只剩下这套架构体系了! >>>   在前面的文章中,我们只设置了整个堆的内存大小.但是我们知道,堆又分为了新生代,年老代.他们之间的内存怎么分配呢?新生代又分为Eden和 ...

随机推荐

  1. JQuery 技巧总结

    一.简介 1.1.概述 随着WEB2.0及ajax思想在互联网上的快速发展传播,陆续出现了一些优秀的Js框架,其中比较著名的有Prototype.YUI.jQuery.mootools.Bindows ...

  2. 硬盘的基础知识-SSD

    硬盘有三类:HDD(机械硬盘),SSD(固态硬盘),HHD(混合硬盘) 原理: HDD:磁性碟片 SSD: 闪存颗粒 HHD:磁性碟片的基础上加上了闪存颗粒. 这里对HDD,HHD不加说明,只对SSD ...

  3. php支付走过的坑(支付宝篇 注册 秘钥 环境等等配置)

    支付这东西,说容易也容易,说难也难 代码这玩意还比较好说 但是 如果没有demo 直接去看官方文档 十有八九一脸懵逼 今天就整理一下 支付这块走过的坑 涉及 微信h5支付 支付宝h5支付 (api文档 ...

  4. linux服务器tomcat启动时,不能加载项目

    ---恢复内容开始--- 问题描述:tomcat启动时候,能够成功启动但是项目不能加载,查看catalina.out后出现以下的错误 due to a StackOverflowError. Poss ...

  5. Myeclipse与tomcat的运行问题

    在myeclipse中修改自己servlet后,在次运行时,可能会没有变化,这时需要重启tomcat,重新加载servlet

  6. mysql启动报错,与selinux相关

    mysql启动报错,与selinux相关 如果遇到报错,可能的情况是 selinux 的关系,可以安装 setroubleshoot-server 工具,使用 sealert -a /var/log/ ...

  7. rpm打包工具

    http://fedoraproject.org/wiki/How_to_create_an_RPM_package # rpm --showrc|grep _topdir -14: _builddi ...

  8. 腾讯云“动态加速”与“CDN”的区别——浅谈对“动态加速”的理解(可能有误)

    CDN的劣势及“动态加速”产生背景 通常CDN对静态内容支持较好,若使用其加速动态内容,可能会导致异常(如导致无法登录).当然,可以将动态内容的在CDN节点上的缓存时间设置为0秒来解决.但这毕竟是用户 ...

  9. golang 2行代码在基于arm linux的树莓派、orangepi上运行http web服务

    go语言(golang)简化了跨平台交叉编译步骤,支持在windows系统下交叉编译基于arm+linux平台的应用,运行时无需其它依赖库.以下以一个简单的http server为例,先上源码: ** ...

  10. Makedown语法说明

    Markdown 语法说明 (简体中文版) / (点击查看快速入门) 概述 宗旨 兼容 HTML 特殊字符自动转换 区块元素 段落和换行 标题 区块引用 列表 代码区块 分隔线 区段元素 链接 强调 ...