打开日志:运行配置---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. Windows窗体应用开发3--配置标准控件1

    1.掌握主要的Windows窗体控件的功能 2.掌握使用SplitContainer控件的方法 3.掌握使用TreeView控件的方法 注:新建一个WindowsForm 命名为Form2.cs 主要 ...

  2. Echarts学习笔记

    1.Ecahrts使用首先需要引用js文件 Echarts.js 然后定义一个带id的容器(div就可以) 然后就可以初始化echarts了 ↓这是柱形图 <h2 class="con ...

  3. linux创建用户与删除用户及问题解决(ubuntu)

    创建的用户不正确,一直在删除创建,发现了挺多问题也学到了一些东西如下是我的总结. (root用户设置: 由于ubtun系统默认是没有激活root用户的,需要我们手工进行操作,在命令行界面下,或者在终端 ...

  4. python面试题——框架和其他(132题)

    一.框架对比 (1)django.flask.tornado框架的比较? Django:简单的说Django是一个大而全的Web框架,内置了很多组件,ORM.admin.Form. ModelForm ...

  5. 切图让我进步!关于white-space属性的组合拳

    菜鸟一枚,没有大神的风骚,只有一点在练习中的心得,今天获得的知识是关于white-space属性.overflow属性还有text-overflow属性的组合使用,废话不多说浪费时间,进入今天的正题! ...

  6. 栅格那点儿事(四A)---栅格的显示与渲染

    栅格的显示与渲染 通过前两章的学习,应该对栅格这个东西不那么陌生了.在这一个部分,我们来看看如何展示出栅格数据最美丽的地方,在ArcGIS中栅格的显示与渲染.在进入细节之前,先来看看在ArcGIS中都 ...

  7. Web前端开发规范(二)

    3.HTML代码规范 .html文件必须存放在项目工程约定的目录中. .html文件的命名:以模块 + 功能的结合方式来命名,比如:newsList.html. 文档类型声明:HTML4中使用< ...

  8. Spring Boot:内置tomcat启动和外部tomcat部署总结

    springboot的web项目的启动主要分为: 一.使用内置tomcat启动 启动方式: 1.IDEA中main函数启动 2.mvn springboot-run 命令 3.java -jar XX ...

  9. 还是要精简开发呀,VS2015太大,VS2010不想装

    公司电脑配置没有很好,所以对于我就是一个挑战. vs2015装上了,但是一打开就卡卡卡,基本没法办公. 公布能用记事本吧,太多不方便: Notepad++做辅助的局部修改还是很好用的,装上插件就智能提 ...

  10. IOS 打开照相机 打开相册

    /** * 打开照相机 */ - (void)openCamera { if (![UIImagePickerController isSourceTypeAvailable:UIImagePicke ...