JVM GC 日志分析
来源:互联网 发布:黄金现货数据 编辑:程序博客网 时间:2024/05/17 03:13
http://wentao365.iteye.com/blog/1142837
GC 日志分析
- 博客分类:
- tomcat
打印gc log的详细信息
或
如果真是内存泄漏,系统最终会抛OutOfMemory, 加这个-XX:+HeapDumpOnOutOfMemoryError (jdk1.5以上)可以得到heap dump. 这个dump纪录了所有在OutOfMemory时存在于内存中的对象。用普通的jhat之类的工具分析dump文件不够好。推荐使用SAP Memory Analyzer。用这个工具你可以比较快的定位原因。
gc日志分析
第一个箭头:35592K->1814K(36288K),箭头指向的是新生段的内存占用情况;
第二个箭头:38508K->7792K(520256K),箭头指向的是回收后的内存占用情况。
圆括号中通常指的是当前申请的内存大小。
<collector>GC收集器的名称
<starting occupancy1> 新生代在GC前占用的内存
<ending occupancy1> 新生代在GC后占用的内存
<pause time1> 新生代局部收集时jvm暂停处理的时间
<starting occupancy3> JVM Heap 在GC前占用的内存
<ending occupancy3> JVM Heap 在GC后占用的内存
<pause time3> GC过程中jvm暂停处理的总时间
如果回收总量相等,就表示100%的收回,没有任何新生代的对象被提升到中生代或者永久区。而本例中表示3062K没有被回收,即2062K 新生代内容被提升到中生代。
Full GC 即全量GC,垃圾回收分小GC和Full GC。前者针对年轻代,后者针对年老代。FULL GC出现的很多有时候是因为你应用中2M以上的对象比较多。
- set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m -XX:+PrintGCDetails
或
引用
set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms512m -Xmx1024m -verbose:gc -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError
如果真是内存泄漏,系统最终会抛OutOfMemory, 加这个-XX:+HeapDumpOnOutOfMemoryError (jdk1.5以上)可以得到heap dump. 这个dump纪录了所有在OutOfMemory时存在于内存中的对象。用普通的jhat之类的工具分析dump文件不够好。推荐使用SAP Memory Analyzer。用这个工具你可以比较快的定位原因。
gc日志分析
引用
[GC [DefNew: 35592K->1814K(36288K), 0.0326932 secs] 38508K->7792K(520256K), 0.0336419 secs]
第一个箭头:35592K->1814K(36288K),箭头指向的是新生段的内存占用情况;
第二个箭头:38508K->7792K(520256K),箭头指向的是回收后的内存占用情况。
圆括号中通常指的是当前申请的内存大小。
引用
[GC [<collector>: <starting occupancy1> -> <ending occupancy1>, <pause time1> secs] <starting occupancy3> -> <ending occupancy3>, <pause time3> secs]
<collector>GC收集器的名称
<starting occupancy1> 新生代在GC前占用的内存
<ending occupancy1> 新生代在GC后占用的内存
<pause time1> 新生代局部收集时jvm暂停处理的时间
<starting occupancy3> JVM Heap 在GC前占用的内存
<ending occupancy3> JVM Heap 在GC后占用的内存
<pause time3> GC过程中jvm暂停处理的总时间
如果回收总量相等,就表示100%的收回,没有任何新生代的对象被提升到中生代或者永久区。而本例中表示3062K没有被回收,即2062K 新生代内容被提升到中生代。
- [Full GC 873087K->873087K(955648K), 4.1838200 secs]
- [Full GC 873087K->871781K(955648K), 4.1683140 secs]
- [Full GC 873087K->873087K(955648K), 4.2085010 secs]
- [Full GC 873087K->872260K(955648K), 4.2084700 secs]
- [Full GC 873081K->873081K(955648K), 4.2623640 secs]
- [Full GC 873081K->872408K(955648K), 4.3412570 secs]
- 2011-08-08 17:04:10,819 ERROR [com.koolearn.util.cache.AliMemCacheEngine.get(AliMemCacheEngine.java:164)] - <>
- [Full GC 873087K->873087K(955648K), 4.3155510 secs]
- [Full GC 873087K->872481K(955648K), 4.0971750 secs]
- [Full GC 873087K->873087K(955648K), 4.1474260 secs]
- [Full GC 873087K->872766K(955648K), 4.3128090 secs]
- java.lang.OutOfMemoryError: Java heap space
- [Full GC 873087K->873087K(955648K), 4.3855320 secs]
- [Full GC 873087K->871522K(955648K), 4.2014260 secs]
- [Full GC 871649K->871649K(955648K), 4.5445160 secs]
- [Full GC 873087K->873087K(955648K), 4.3851440 secs]
- [Full GC[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor778]
- [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor779]
- 873087K->871942K(955648K), 4.1766480 secs]
- [Full GC 873087K->872056K(955648K), 4.4511170 secs]
- [Full GC 873087K->873087K(955648K), 4.3548710 secs]
- [Full GC 873087K->872185K(955648K), 4.5506940 secs]
Full GC 即全量GC,垃圾回收分小GC和Full GC。前者针对年轻代,后者针对年老代。FULL GC出现的很多有时候是因为你应用中2M以上的对象比较多。
JConsole使用 | Tomcat Server的结构图
- 2011-08-08 17:37
- 浏览 9132
- 评论(2)
- 分类:互联网
- 相关推荐
0 0
- JVM GC 日志分析
- 分析JVM gc日志
- jvm gc日志分析
- jvm 的GC日志分析
- jvm的GC日志分析
- jvm的GC日志分析
- JVM的GC日志分析
- JVM 之 GC日志分析
- jvm的GC日志分析
- jvm的GC日志分析
- JVM 之 GC日志分析
- 记一次JVM GC日志分析
- 记一次JVM GC日志分析
- jvm GC日志输出
- jvm GC日志解读
- JVM:GC日志
- 【JVM】理解GC日志
- JVm性能调优4:GC日志分析
- iOS项目中常用的第三方开源库 -- @ShinePug
- 简阅客户端应用Android源码
- Nslogger 新的Debug模式
- [转载]Linux系统中休眠的理解
- DDOS攻击原理,及通过iptables预防syn洪水攻击
- JVM GC 日志分析
- SQL Server中角色与权限管理
- 对 Linux 新手非常有用的 20 个命令
- 黑马程序员---Java基础---内部类
- Gaussian discriminant analysis
- Apache 基金会宣布 Apache Kylin 成为顶级项目
- Title_微信开放平台分账功能实战(Java版)
- 在项目里交叉使用Swift和OC
- Numeric Character Reference转NSString
评论
这个数据怎么来的啊?