【发布时间】:2012-02-09 21:35:43
【问题描述】:
我正在编写单元测试以了解 MyClass 实例占用了多少内存。
我似乎对随机混乱的垃圾收集器无能为力,它告诉我我的MyClass[] myinstances=new MyClass[10000]; 占用了负内存,所以我决定启动 2 个新的 JVM 进程,它们只是启动一个包含 main 方法的类,它实例化一个巨大的arry和挂起。
我知道我可以使用 Runtime.getRuntime.exec("java my.package.SomeClassWithMainMethod"); 启动一个新的 JVM
所以我的问题是:如何获取有关我启动的 JVM 占用的内存量的信息?
谢谢,你们统治。
【问题讨论】:
-
您正在寻找任何工具(或)以编程方式查找内存?
-
启动时有一个参数传入JVM; JVM 将占用您作为该参数传入的最大内存量。这些:-Xss512k -Xms64m -Xmx512m