Я дважды проверил следующее:
- Я запускаю jvisualvm в том же окне, где работает Tomcat.
- Это Java 6u19.
- MyСлужба Tomcat работает от имени того же пользователя, под которым я вошел.
- Моя служба Tomcat использует тот же каталог JVM, из которого я использую jvisualvm.
- Tomcat имеет JMX, включенный вконкретный порт, но я не думаю, что это поможет мне.
При всем этом я делаю вижу мой процесс Tomcat в списке "Local" для jvisualvm.Это показано как(pid 5644) ". Если я дважды щелкаю по нему, то на каждой вкладке отображается" Не поддерживается для этой JVM. "Однако VisualVM отображается в" Local ", и все вкладки работают для него, очевидно, с использованием одного и того же экземпляра JVM.нет очевидного способа добавить соединение JMX в ""instance.
Я вижу экземпляр JMX Tomcat в" Local "как" localhost: (мой номер порта) ", и это работает, но на вкладке Visual GC отображается" Не поддерживается для этой JVM "Я предполагаю, что это означает, что Visual GC не работает через JMX.
Что я делаю не так? Я попытался запустить jstatd. Это не имело никакого значения. Когда я запускаю jstatd, то visualvm видит "Local" "jstatd ", но когда я дважды щелкаю по нему, он просто отслеживает этот процесс jstatd, а не любой другой процесс Java.
ПРИМЕЧАНИЕ. Я решил попробовать запустить Tomcat не как службу, а непосредственно в окне CMD и, альт, теперь visualvm работает отлично. Я подумал, что попробую это, когда я запустил «jps» и получу жалобу «Информация о процессе недоступна», и Google для этого нашел и нашел кого-то, кто сказал, что он получил это, когда они запускали любое приложение Java какЭто помогает в испытательном стенде, но не помогает понять, как контролировать производственную систему.
Это Tomcat, работающий в качестве службы Windows под Tanuki wрэпер на Windows Server 2003.