文档章节

GC日志参数详解

AbeJeffrey
 AbeJeffrey
发布于 2017/03/30 17:40
字数 778
阅读 650
收藏 1

1 输出GC简要信息

-verbose:gc 或-XX:+PrintGC

[GC (Allocation Failure)  7987K->5378K(19456K), 0.0133927 secs]

[GC (Allocation Failure)  13570K->11246K(19456K), 0.0220739 secs]

[Full GC (Ergonomics)  11246K->11188K(19456K), 0.2417921 secs]

[Full GC (Ergonomics)  18717K->16418K(19456K), 0.2618319 secs]

[Full GC (Allocation Failure)  16418K->16398K(19456K), 0.1658426 secs]

 

7987K->5378K(19456K), 0.0133927 secs含义:GC前已使用容量->GC后已使用容量(总容量),GC耗时,单位s

GC (Allocation Failure) :说明GC类型,括号中说明发生GC的原因。如这里说明发生了minor gc,原因是内存分配失败。

2 输出GC详细信息

-XX:+PrintGCDetails

[GC (Allocation Failure) [PSYoungGen: 7970K->1017K(9216K)] 7970K->5382K(19456K), 0.0165871 secs] [Times: user=0.05 sys=0.00, real=0.02 secs] 

[GC (Allocation Failure) --[PSYoungGen: 9209K->9209K(9216K)] 13574K->19444K(19456K), 0.0325471 secs] [Times: user=0.08 sys=0.00, real=0.03 secs] 

[Full GC (Ergonomics) [PSYoungGen: 9209K->0K(9216K)] [ParOldGen: 10234K->10180K(10240K)] 19444K->10180K(19456K), [Metaspace: 3150K->3150K(1056768K)], 0.2389364 secs] [Times: user=0.36 sys=0.00, real=0.24 secs] 

 [PSYoungGen: 7970K->1017K(9216K)] 含义:新生代:GC前已使用容量->GC后已使用容量(新生代总容量)

7970K->5382K(19456K)含义:整个java堆:GC前已使用容量->GC后已使用总容量(java堆总容量)

 0.0165871 secs 含义:GC耗时,单位s

Heap

 PSYoungGen      total 9216K, used 8192K [0x00000000ff600000, 0x0000000100000000, 0x0000000100000000)

  eden space 8192K, 100% used [0x00000000ff600000,0x00000000ffe00000,0x00000000ffe00000)

  from space 1024K, 0% used [0x00000000ffe00000,0x00000000ffe00000,0x00000000fff00000)

  to   space 1024K, 48% used [0x00000000fff00000,0x00000000fff7be10,0x0000000100000000)

 ParOldGen       total 10240K, used 7990K [0x00000000fec00000, 0x00000000ff600000, 0x00000000ff600000)

  object space 10240K, 78% used [0x00000000fec00000,0x00000000ff3cd898,0x00000000ff600000)

 Metaspace       used 3182K, capacity 4600K, committed 4864K, reserved 1056768K

  class space    used 357K, capacity 424K, committed 512K, reserved 1048576K

PSYoungGen      total 9216K, used 8192K [0x00000000ff600000, 0x0000000100000000, 0x0000000100000000)含义:

新生代总大小9216K,已使用8192K,内存申请起始地址,已申请到的终点位置,最多能申请到的位置

3 GC前后堆的详细信息

-XX:+PrintHeapAtGC

{Heap before GC invocations=1 (full 0):

 PSYoungGen      total 9216K, used 7969K [0x00000000ff600000, 0x0000000100000000, 0x0000000100000000)

  eden space 8192K, 97% used [0x00000000ff600000,0x00000000ffdc86a8,0x00000000ffe00000)

  from space 1024K, 0% used [0x00000000fff00000,0x00000000fff00000,0x0000000100000000)

  to   space 1024K, 0% used [0x00000000ffe00000,0x00000000ffe00000,0x00000000fff00000)

 ParOldGen       total 10240K, used 0K [0x00000000fec00000, 0x00000000ff600000, 0x00000000ff600000)

  object space 10240K, 0% used [0x00000000fec00000,0x00000000fec00000,0x00000000ff600000)

 Metaspace       used 3150K, capacity 4600K, committed 4864K, reserved 1056768K

  class space    used 353K, capacity 424K, committed 512K, reserved 1048576K

[GC (Allocation Failure) [PSYoungGen: 7969K->1001K(9216K)] 7969K->5366K(19456K), 0.0150862 secs] [Times: user=0.03 sys=0.00, real=0.02 secs] 

Heap after GC invocations=1 (full 0):

 PSYoungGen      total 9216K, used 1001K [0x00000000ff600000, 0x0000000100000000, 0x0000000100000000)

  eden space 8192K, 0% used [0x00000000ff600000,0x00000000ff600000,0x00000000ffe00000)

  from space 1024K, 97% used [0x00000000ffe00000,0x00000000ffefa798,0x00000000fff00000)

  to   space 1024K, 0% used [0x00000000fff00000,0x00000000fff00000,0x0000000100000000)

 ParOldGen       total 10240K, used 4364K [0x00000000fec00000, 0x00000000ff600000, 0x00000000ff600000)

  object space 10240K, 42% used [0x00000000fec00000,0x00000000ff0432e0,0x00000000ff600000)

 Metaspace       used 3150K, capacity 4600K, committed 4864K, reserved 1056768K

  class space    used 353K, capacity 424K, committed 512K, reserved 1048576K

}

invocations=1:发生GC的总次数(Major GC, Full GC

full 0:发生Full GC的总次数

4 OOM dump文件转储

-XX:+HeapDumpOnOutOfMemoryError :发生OutOfMemoryError时,转储堆快照

-XX:HeapDumpPath=E:\java\dump :指定dump文件路径,不指定则默认放到项目路径下

可使用Memory Analyzer分析dump文件,

Eclipse安装地址:http://download.eclipse.org/mat/1.6.1/update-site/

下载地址:http://www.eclipse.org/mat/downloads.php

5 其他GC参数

-XX:+PrintGCTimeStamps:GC发生的时间自JVM启动以后以秒计量

-XX:+PrintGCApplicationStoppedTime:输出GC造成应用暂停的时间,如:

Total time for which application threads were stopped: 0.3797230 seconds, Stopping threads took: 0.0000215 seconds

-XX:+PrintGCDateStamps:GC发生的时间,格式如:

2017-03-21T20:50:40.130+0800

-Xloggc:/logs/gc.log  输出GC日志到文件

欢迎指出本文有误的地方,转载请注明原文出处https://my.oschina.net/7001/blog/870988

© 著作权归作者所有

AbeJeffrey
粉丝 43
博文 43
码字总数 116095
作品 0
杭州
高级程序员
私信 提问
Java虚拟机详解03----常用JVM配置参数

本文主要内容: Trace跟踪参数 堆的分配参数 栈的分配参数 零、在IDE的后台打印GC日志: 既然学习JVM,阅读GC日志是处理Java虚拟机内存问题的基础技能,它只是一些人为确定的规则,没有太多技...

商者
2016/04/10
23
0
JVM GC一次调优实战

CMS的Full GC采用压缩式垃圾收集,在堆比较大的时候,如果full gc频繁,会导致停顿,并且调用方阻塞、超时、甚至雪崩的情况出现,所以降低full gc的发生频率和需要时间,非常有必要。 目标 ...

HenrySun
2016/06/21
146
0
[转]配置文件 | logstash配置文件详解

配置文件 | logstash配置文件详解 说明 /logstash/config/logstash.yml:主要用于控制logstash运行时的状态 /logstash/config/startup.options:logstash 运行相关参数 配置参数说明 logsta...

morpheusWB
01/01
209
0
JVM系列篇:JVM性能调优的6大步骤,及关键调优参数详解

本系列会持续更新。 一、JVM内存调优 对JVM内存的系统级的调优主要的目的是减少GC的频率和Full GC的次数。 1.Full GC 会对整个堆进行整理,包括Young、Tenured和Perm。Full GC因为需要对整个...

mikechen优知
03/26
262
0
g1垃圾回收器与cms垃圾回收器详解及最佳实践

G1垃圾收集器入门 说明 concurrent: 并发, 多个线程协同做同一件事情(有状态) parallel: 并行, 多个线程各做各的事情(互相间无共享状态) 参考: What’s the difference between concurrency ...

行者
2018/01/13
971
0

没有更多内容

加载失败,请刷新页面

加载更多

代理模式之JDK动态代理 — “JDK Dynamic Proxy“

动态代理的原理是什么? 所谓的动态代理,他是一个代理机制,代理机制可以看作是对调用目标的一个包装,这样我们对目标代码的调用不是直接发生的,而是通过代理完成,通过代理可以有效的让调...

code-ortaerc
今天
4
0
学习记录(day05-标签操作、属性绑定、语句控制、数据绑定、事件绑定、案例用户登录)

[TOC] 1.1.1标签操作v-text&v-html v-text:会把data中绑定的数据值原样输出。 v-html:会把data中值输出,且会自动解析html代码 <!--可以将指定的内容显示到标签体中--><标签 v-text=""></......

庭前云落
今天
7
0
VMware vSphere的两种RDM磁盘

在VMware vSphere vCenter中创建虚拟机时,可以添加一种叫RDM的磁盘。 RDM - Raw Device Mapping,原始设备映射,那么,RDM磁盘是不是就可以称作为“原始设备映射磁盘”呢?这也是一种可以热...

大别阿郎
今天
10
0
【AngularJS学习笔记】02 小杂烩及学习总结

本文转载于:专业的前端网站☞【AngularJS学习笔记】02 小杂烩及学习总结 表格示例 <div ng-app="myApp" ng-controller="customersCtrl"> <table> <tr ng-repeat="x in names | orderBy ......

前端老手
昨天
14
0
Linux 内核的五大创新

在科技行业,创新这个词几乎和革命一样到处泛滥,所以很难将那些夸张的东西与真正令人振奋的东西区分开来。Linux内核被称为创新,但它又被称为现代计算中最大的奇迹,一个微观世界中的庞然大...

阮鹏
昨天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部