繁体   English   中英

获取一段时间内Java中堆内存使用情况的直观图

[英]Get visual graph of heap memory usage in Java over a span of time

我目前正在使用Visual VM监视Java应用程序的堆内存使用情况。 但是我想以某种方式查看整个时间段(例如一天)中的堆内存使用情况,而不仅仅是获取快照。我希望能够保留Visual VM或工具的状态,并让它记录内存使用情况和然后一天后,我可以回头看看它的图。 有没有一种方法可以使用Visual VM? 如果是,怎么办? 如果没有,我可以使用什么工具来做到这一点?

使用以下Java选项运行Java程序:

-Xloggc:log.out -XX:+PrintGCDetails -XX:+PrintGCTimeStamps

和下载HPjmeter可视化log.out

另请参阅SUN的GC门户网站页面以获取更多运行选项。 由于数据已写入文件,因此收集数天或数周的数据不会有任何问题。 当然,如果您希望以大量信息可视化数据,则需要使用更多内存来运行HPjmeter。

您的另一个选择是使用JConsole

尝试使用JConsole中的“内存”选项卡。 JConsole也像JVisualVM一样包含在Oracle JDK中,因此您应该已经拥有它。 它的时间范围为“全部”,该时间范围应适合您想要的工作。 它看起来像这样:

jconsole的屏幕截图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM