java中年轻和终身代内存的统计

时间:2013-04-08 16:08:45

标签: java memory memory-management garbage-collection

Java 中是否有任何方法我们可以访问当前的内存状态,例如JVM当前使用了多少终身内存或年轻代内存

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

3 个答案:

答案 0 :(得分:3)

试试-XX:-PrintGC-XX:-PrintGCDetails; 有关这些的详细信息,请访问以下链接 http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html

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

答案 1 :(得分:1)

GC记录是监控Young和OldGen职业的最佳方式。

而且,jstat是另一种监控堆大小的好方法,除了GC日志会告诉你的内容,jstat会显示 Eden Survivor 占领空间,试试:

 jstat -gcutil -t <pid> <interval> <number_of_samples>

答案 2 :(得分:1)

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