IBM 的 Java 诊断,第 2 部分: 使用 Extensible Verbose Toolkit 进行垃圾收集
2010-04-01 00:00:00 来源:WEB开发网核心提示: 对比多个文件 EVTK 允许您同时分析多个文件,这对于评估性能更改效果非常方便,IBM 的 Java 诊断,第 2 部分: 使用 Extensible Verbose Toolkit 进行垃圾收集(4),图 7 显示使用三个 GC 策略执行固定工作负载的应用程序,(这种情况下,当放大特定时间段时
对比多个文件
EVTK 允许您同时分析多个文件。这对于评估性能更改效果非常方便。图 7 显示使用三个 GC 策略执行固定工作负载的应用程序。(这种情况下,应用程序本身便是 EVTK。)实线是 gencon GC 策略,点线是 optavgpause 策略,虚线是 optthruput 策略。EVTK 基于日志文件名称得出行标签。
图 7. 三种不同的垃圾收集策略的堆使用情况和暂停时间
查看原图(大图)
这种情况下,根据所有评测条件,gencon 模式明显最佳。它完成任务的速度最快、过程中使用的堆最少并且 GC 暂停时间更短。但 gencon 策略不是默认的策略;在大多数情况下,optthruput 是默认策略,它胜过 gencon。正如此例所示,尽管它并不总是胜过 gencon 策略,因此当使用不同的 GC 策略时,应该查看应用程序如何改变行为。通常,非常简单的更改(如更改应用程序使用的 GC 策略)会产生非常大的改进。
放大问题阶段
EVTK 允许您侧重于日志中特定的时间段。当放大特定时间段时,所有摘要数据和建议都会更改以只反映该时间段。例如,图 8 中所示的日志显示白天繁忙但夜晚空闲的应用程序的堆使用情况:
图 8. 白天繁忙但夜晚空闲的应用程序的堆使用情况
更多精彩
赞助商链接