2

在Java中有什么方法可以让我们访问当前的内存状态,比如JVM 当前使用了多少终身内存或年轻代内存。

执行 Runtime.getRuntime().freeMemory(), totalMemory() 很有用,但我想知道是否有任何方法可以拆分总内存。

4

3 回答 3

3

可以在以下链接中找到这些 尝试-XX:-PrintGC和详细信息http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html-XX:-PrintGCDetails;

此链接包含与统计相关的更多信息 http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jstat.html

于 2013-04-08T16:13:06.503 回答
1

GC 日志记录是监控 Young 和 OldGen 占用的最佳方式。

并且,jstat是另一种监控堆大小的好方法,除了 GC 日志将向您显示的内容之外,jstat 将向您显示EdenSurvivor空间占用,请尝试:

 jstat -gcutil -t <pid> <interval> <number_of_samples>
于 2013-04-08T17:02:06.130 回答
1

Manage Engine 的应用程序管理器完成这项工作。神奇的工具 http://www.manageengine.com/products/applications_manager/

于 2013-05-23T09:50:21.733 回答