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