Weblogic:内存溢出和内存泄漏问题的故障排查,手把手教你5G时代Webview的正确使用姿势

请注意,上面的消息转到stdout或stderr,而不是特定于应用程序的日志文件,如weblogic.log.

对于Java OOM:

收集并分析详细垃圾收集(GC)输出

=================

启用详细GC日志记录。为了有效地记录GC活动,启动时JVM中应包括以下选项:

1. 对于HotSpot: -verbose:gc 、 -XX:+PrintGCDetails 和 -XX:+PrintGCTimeStamps 。 Xloggc :也可以指定将GC详细统计信息重定向到输出文件。除了日志文件消耗的一些磁盘空间之外,基本GC的开销是空的(有关更多详细信息,请参阅Java热点VM选项)。

2. 对于JRockit: -verbose:gc , gcpause , memdbg (有关详细信息,请参阅 JRockit命令行选项 )。

确保JVM在抛出java oom之前执行以下操作

完全GC运行:

=======

执行一个完整的GC,所有不可到达的、幻象的、弱的和不可到达的对象都被移除,并且这些空间被回收。有关不同级别的对象可达性的更多详细信息,请访问: http://java.sun.com/docs/books/performance/1st_edition/html/JPAppGC.fm.html ,参见“A.4.1参考对象类型”。

您可以检查是否在OOM消息之前完成了完全GC。当完成完整的GC时,会打印如下消息(格式因JVM而异:检查JVM帮助消息以了解格式)

[memory ] 7.160: GC 131072K->130052K (131072K) in 1057.359 ms

上述输出的格式如下(注意:整个模式将使用相同的格式):

[memory ] : GC K->K (K), ms

[memory ] - start time of collection (seconds since jvm start)

[memory ] - memory used by objects before collection (KB)

[memory ] - memory used by objects after collection (KB)

[memory ] - size of heap after collection (KB)

[memory ] - total time of collection (milliseconds)

但是,无法断定是否使用详细消息删除了软/弱/幻影可及对象。如果垃圾收集算法是分代算法(对于Jrockit,是gencopy或gencon,对于其他jdk,是默认算法),您还将看到详细的输出,如下所示:

[memory ] 2.414: Nursery GC 31000K->20760K (75776K), 0.469 ms

上面是托管GC(或年轻GC)循环,它将把活动对象从托管(或年轻空间)提升到旧空间。这个循环对于我们的分析并不重要。在JVM文档中可以找到关于时代算法的更多细节。

如果GC循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值