2010-07-16 4 views
6

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

ответ

2

AFAIK, виртуальная машина вообще может быть сконфигурирован для удаленного профилирование.

Eclipse TPTP имеет профилирование и даже хорошие возможности построения графиков, они упоминают сети в их Data Collection Subsystem

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

+0

TPTP больше не поддерживается. = ( – Jolta

1

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

Attaching Profiler to Local or Remote JVM

+0

Эта утилита не позволяет мне профилировать параметры, которые я указал. В частности, это не дает мне возможность измерять статистику io или fd. –

+0

Мое возражение против профилировщика NetBeans заключается в том, что я профилирую удаленный процесс (трассировка метода), и он выполняет хорошую работу, но он не позволит мне сохранить профиль в файл, чтобы его можно было изучить позже или другими. Действительно разочарование и вопиющее упущение. Там может быть способ сделать это, но я проверил все, что мог. – clearlight

1

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

0

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

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

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

+0

Пожалуйста, не включайте в свои сообщения «подписи». Ваше окно пользователя автоматически отображается для вас. –

Смежные вопросы