在 Java 中是否有任何方法我们可以访问当前的内存状态,例如JVM当前使用了多少终身内存或年轻代内存
执行Runtime.getRuntime()。freeMemory(),totalMemory()很有用,但我想知道是否有任何方法可以分割总内存。
答案 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/