Удаленное профилирование JVM - PullRequest
6 голосов
/ 16 июля 2010

Мне нужно удаленно профилировать JVM для загрузки ЦП, статистики ввода-вывода и подсчета дескрипторов / обработчиков файлов, а также поддерживать платформы * NIX и Windows при этом. Я попытался использовать SIGAR API, который очень хорошо абстрагирует платформы, используя базовую реализацию собственного кода, но он не поддерживает удаленное профилирование. Есть ли альтернативный API, который может это сделать? Альтернативно, возможно ли расширить инфраструктуру SIGAR для удаленного мониторинга JVM? Любые подсказки о том, где можно посмотреть, будут полезны. Заранее спасибо!

Ответы [ 4 ]

2 голосов
/ 16 июля 2010

Afaik, JVM в целом можно настроить для разрешения удаленного профилирования.

Eclipse TPTP обладает возможностями профилирования и даже хорошими графиками, в своей подсистеме сбора данных

они упоминают о сети.

JVisualVM , поставляемый с JDK, также имеет удаленную секцию.

1 голос
/ 16 июля 2010

Вы можете попробовать JProfiler .Хотя его платное, вы можете сначала попробовать ознакомительную версию

1 голос
/ 16 июля 2010

Профилировщик NetBeans обеспечивает все виды профилирования, включая удаленные сеансы.См. Эту страницу из документации для запуска удаленной отладки:

Присоединение профилировщика к локальной или удаленной JVM

0 голосов
/ 14 ноября 2012

Visual VM был одним из лучших профилей и с открытым исходным кодом. Я использовал его для профилирования JVM, и он поставляется с различными плагинами / расширениями для просмотра разных отчетов.

Я также пытался интегрироваться с серверами WebSphere / Tomcat / Liferay и Glassfish. Фактически, любая виртуальная машина Java, в которой включена функция удаленного управления JMX, будет идентифицирована Visual VM.

По умолчанию Visual VM идентифицирует JVM Sun, но, например, он не мог распознать IBM JVM. Для любых других JVM, отличных от Sun, вам необходимо включить возможность удаленного управления JMX, чтобы подключиться к JVM с помощью Visual VM.

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