WEB开发网
开发学院软件开发Java 用 verbose GC 分析 IBM WebSphere Portal 的内存... 阅读

用 verbose GC 分析 IBM WebSphere Portal 的内存问题

 2010-06-23 00:00:00 来源:WEB开发网   
核心提示:垃圾收集简介本文针对的是 WebSphere Portal 版本 6.0 或更高版本(和 5.1 或更高版本),其上运行的是 Java™ Software Development Kit (SDK) 1.4.2,用 verbose GC 分析 IBM WebSphere Portal 的内存问题,为了获得最

垃圾收集简介

本文针对的是 WebSphere Portal 版本 6.0 或更高版本(和 5.1 或更高版本),其上运行的是 Java™ Software Development Kit (SDK) 1.4.2。为了获得最佳调优,建议使用 SDK 的最新服务发布,对于这里所讨论的调优,至少使用一个新于 SR13 的服务发布。

垃圾收集可简单定义为 JavaTM Virtual Machine (JVM) 释放不再被进程引用或使用的对象的 heap 的行为,heap 是指内存中的一个预先定义的部分,可用来管理 Java 应用程序内的资源。

这个过程有三个主要阶段:mark、sweep 和 compact:

在 mark 阶段,heap 内的所有对象均以一个 bit “标记”。然后检查这些对象看它们是否仍被引用,如果如此,这个 bit 即被删除。

在 sweep 阶段,JVM 遍历整个 heap 并删除仍具有标记 bit 的所有对象;这些对象不再被引用或使用。

compact 阶段只在一个完整的 GC 中才会运行,在这个阶段,GC 会试图将 heap 内的所有对象重新分配到 heap 内的一个更为紧缩、更为连续的较小空间。

垃圾收集如何工作

监视 heap 使用情况的最好的方法是分析这个 verbose GC 的输出。

首先要确保该 verbose GC 在服务器上已被启用:

从 IBM WebSphere Application Server 管理控制台,导航到 Application Servers - WebSphere_Portal - Java and Process Management - Process Definition - Java Virtual Machine。

确保选中 Verbose garbage collection 旁的复选框,然后重启此服务器。

现在,应该可以看到类似于如下的条目被写入到 native_stderr.log 文件:
<AF[177]: Allocation Failure. need 528 bytes, 3602594 ms since last AF>
<AF[177]: managing allocation failure, action=1 (0/585421800) (29966688/30811672)>
<GC(177): GC cycle started Fri Sep 21 23:48:29 2007
<GC(177): freed 218620376 bytes, 40% free (248587064/616233472), in 459 ms>
<GC(177): mark: 422 ms, sweep: 37 ms, compact: 0 ms>
<GC(177): refs: soft 0 (age >= 32), weak 11, final 7424, phantom 0>
<AF[177]: completed in 460 ms>

1 2 3 4 5 6  下一页

Tags:verbose GC 分析

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接