繁体   English   中英

如何从一个JVM进程获取有关不同的Java进程(另一个运行不同进程的JVM实例)的信息?

[英]How to get information about a different java process (another JVM instance running different processes) from one JVM process?

我正在编写单元测试,以查找MyClass实例占用了多少内存。 我似乎对随机混乱的垃圾收集器MyClass[] myinstances=new MyClass[10000]; ,它告诉我MyClass[] myinstances=new MyClass[10000]; 占用负内存,因此我决定仅启动2个新的JVM进程,这些进程仅启动一个包含main方法的类,该类实例化了一个巨大的arry并挂起。

我知道我可以使用Runtime.getRuntime.exec("java my.package.SomeClassWithMainMethod");启动一个新的JVM Runtime.getRuntime.exec("java my.package.SomeClassWithMainMethod");

所以我的问题是:我如何获取有关我启动的JVM占用的内存量的信息?

Thx,你们统治。

我认为您最好使用分析器,jvisualvm可能已经足够好了,并且随Java发行版一起提供。 看到这个问题: 如何确定数据结构的实际内存使用情况

您可以使用JVisualVMJConsole ,它们从1.6开始就包含在JDK中

暂无
暂无

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

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