Как получить информацию о другом Java-процессе (другом экземпляре JVM, выполняющем разные процессы) из одного процесса JVM? - PullRequest
0 голосов
/ 10 февраля 2012

Я пишу модульные тесты, чтобы выяснить, сколько экземпляров памяти занимает MyClass.Кажется, я ничего не могу поделать со случайным хаотичным сборщиком мусора, который говорит мне, что мой MyClass[] myinstances=new MyClass[10000]; занимает отрицательную память, поэтому я решил просто запустить 2 новых процесса JVM, которые просто запускают класс, содержащий метод main, который создает экземплярогромное количество ошибок и зависаний.

Я знаю, что могу запустить новую JVM с Runtime.getRuntime.exec("java my.package.SomeClassWithMainMethod");

Поэтому мой вопрос: как мне получить информацию об объеме памяти, занятойJVM я начал?

Спасибо, ребята, вы правите.

Ответы [ 2 ]

0 голосов
/ 10 февраля 2012

Вы можете использовать JVisualVM или JConsole , они включены в JDK начиная с 1.6

0 голосов
/ 10 февраля 2012

Я думаю, что вам лучше использовать профилировщик, jvisualvm, вероятно, достаточно хорош и поставляется с вашим дистрибутивом Java. Смотрите этот вопрос: Как определить фактическое использование памяти структуры данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...